<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-2"></span><span class="hs-comment">--</span><span>
</span><span id="line-3"></span><span class="hs-comment">-- Pretty-printing assembly language</span><span>
</span><span id="line-4"></span><span class="hs-comment">--</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- (c) The University of Glasgow 1993-2005</span><span>
</span><span id="line-6"></span><span class="hs-comment">--</span><span>
</span><span id="line-7"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-8"></span><span>
</span><span id="line-9"></span><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-orphans #-}</span><span>
</span><span id="line-10"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.CmmToAsm.PPC.Ppr</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprNatCmmDecl"><span class="hs-identifier">pprNatCmmDecl</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-11"></span><span>
</span><span id="line-12"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Prelude.html"><span class="hs-identifier">GHC.Prelude</span></a></span><span>
</span><span id="line-13"></span><span>
</span><span id="line-14"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html"><span class="hs-identifier">GHC.CmmToAsm.PPC.Regs</span></a></span><span>
</span><span id="line-15"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html"><span class="hs-identifier">GHC.CmmToAsm.PPC.Instr</span></a></span><span>
</span><span id="line-16"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Cond.html"><span class="hs-identifier">GHC.CmmToAsm.PPC.Cond</span></a></span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Ppr.html"><span class="hs-identifier">GHC.CmmToAsm.Ppr</span></a></span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Instr.html"><span class="hs-identifier">GHC.CmmToAsm.Instr</span></a></span><span>
</span><span id="line-19"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Format.html"><span class="hs-identifier">GHC.CmmToAsm.Format</span></a></span><span>
</span><span id="line-20"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html"><span class="hs-identifier">GHC.Platform.Reg</span></a></span><span>
</span><span id="line-21"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.Class.html"><span class="hs-identifier">GHC.Platform.Reg.Class</span></a></span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Reg.Target.html"><span class="hs-identifier">GHC.CmmToAsm.Reg.Target</span></a></span><span>
</span><span id="line-23"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Config.html"><span class="hs-identifier">GHC.CmmToAsm.Config</span></a></span><span>
</span><span id="line-24"></span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Cmm.html"><span class="hs-identifier">GHC.Cmm</span></a></span><span> </span><span class="hs-keyword">hiding</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.html#topInfoTable"><span class="hs-identifier">topInfoTable</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-26"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Cmm.Dataflow.Collections.html"><span class="hs-identifier">GHC.Cmm.Dataflow.Collections</span></a></span><span>
</span><span id="line-27"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Cmm.Dataflow.Label.html"><span class="hs-identifier">GHC.Cmm.Dataflow.Label</span></a></span><span>
</span><span id="line-28"></span><span>
</span><span id="line-29"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Cmm.BlockId.html"><span class="hs-identifier">GHC.Cmm.BlockId</span></a></span><span>
</span><span id="line-30"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html"><span class="hs-identifier">GHC.Cmm.CLabel</span></a></span><span>
</span><span id="line-31"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Cmm.Ppr.Expr.html"><span class="hs-identifier">GHC.Cmm.Ppr.Expr</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- For Outputable instances</span><span>
</span><span id="line-32"></span><span>
</span><span id="line-33"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html"><span class="hs-identifier">GHC.Types.Unique</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier">pprUniqueAlways</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier">getUnique</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-34"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#"><span class="hs-identifier">GHC.Platform</span></a></span><span>
</span><span id="line-35"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html"><span class="hs-identifier">GHC.Data.FastString</span></a></span><span>
</span><span id="line-36"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html"><span class="hs-identifier">GHC.Utils.Outputable</span></a></span><span>
</span><span id="line-37"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Driver.Session.html"><span class="hs-identifier">GHC.Driver.Session</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Driver.Session.html#targetPlatform"><span class="hs-identifier">targetPlatform</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-38"></span><span>
</span><span id="line-39"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Word.html#"><span class="hs-identifier">Data.Word</span></a></span><span>
</span><span id="line-40"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Int.html#"><span class="hs-identifier">Data.Int</span></a></span><span>
</span><span id="line-41"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Bits.html#"><span class="hs-identifier">Data.Bits</span></a></span><span>
</span><span id="line-42"></span><span>
</span><span id="line-43"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-44"></span><span class="hs-comment">-- Printing this stuff out</span><span>
</span><span id="line-45"></span><span>
</span><span id="line-46"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprNatCmmDecl"><span class="hs-identifier hs-type">pprNatCmmDecl</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Config.html#NCGConfig"><span class="hs-identifier hs-type">NCGConfig</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Instr.html#NatCmmDecl"><span class="hs-identifier hs-type">NatCmmDecl</span></a></span><span> </span><span class="annot"><a href="GHC.Cmm.html#RawCmmStatics"><span class="hs-identifier hs-type">RawCmmStatics</span></a></span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#Instr"><span class="hs-identifier hs-type">Instr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-47"></span><span id="pprNatCmmDecl"><span class="annot"><span class="annottext">pprNatCmmDecl :: NCGConfig -&gt; NatCmmDecl RawCmmStatics Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprNatCmmDecl"><span class="hs-identifier hs-var hs-var">pprNatCmmDecl</span></a></span></span><span> </span><span id="local-6989586621681028699"><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028699"><span class="hs-identifier hs-var">config</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.html#CmmData"><span class="hs-identifier hs-type">CmmData</span></a></span><span> </span><span id="local-6989586621681028697"><span class="annot"><span class="annottext">Section
</span><a href="#local-6989586621681028697"><span class="hs-identifier hs-var">section</span></a></span></span><span> </span><span id="local-6989586621681028696"><span class="annot"><span class="annottext">RawCmmStatics
</span><a href="#local-6989586621681028696"><span class="hs-identifier hs-var">dats</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-48"></span><span>  </span><span class="annot"><span class="annottext">NCGConfig -&gt; Section -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprSectionAlign"><span class="hs-identifier hs-var">pprSectionAlign</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028699"><span class="hs-identifier hs-var">config</span></a></span><span> </span><span class="annot"><span class="annottext">Section
</span><a href="#local-6989586621681028697"><span class="hs-identifier hs-var">section</span></a></span><span>
</span><span id="line-49"></span><span>  </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span> </span><span class="annot"><span class="annottext">Platform -&gt; RawCmmStatics -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprDatas"><span class="hs-identifier hs-var">pprDatas</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">NCGConfig -&gt; Platform
</span><a href="GHC.CmmToAsm.Config.html#ncgPlatform"><span class="hs-identifier hs-var hs-var">ncgPlatform</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028699"><span class="hs-identifier hs-var">config</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">RawCmmStatics
</span><a href="#local-6989586621681028696"><span class="hs-identifier hs-var">dats</span></a></span><span>
</span><span id="line-50"></span><span>
</span><span id="line-51"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprNatCmmDecl"><span class="hs-identifier hs-var">pprNatCmmDecl</span></a></span><span> </span><span id="local-6989586621681028691"><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028691"><span class="hs-identifier hs-var">config</span></a></span></span><span> </span><span id="local-6989586621681028690"><span class="annot"><span class="annottext">proc :: NatCmmDecl RawCmmStatics Instr
</span><a href="#local-6989586621681028690"><span class="hs-identifier hs-var">proc</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.html#CmmProc"><span class="hs-identifier hs-type">CmmProc</span></a></span><span> </span><span id="local-6989586621681028688"><span class="annot"><span class="annottext">LabelMap RawCmmStatics
</span><a href="#local-6989586621681028688"><span class="hs-identifier hs-var">top_info</span></a></span></span><span> </span><span id="local-6989586621681028687"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028687"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="annot"><span class="annottext">[GlobalReg]
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.html#ListGraph"><span class="hs-identifier hs-type">ListGraph</span></a></span><span> </span><span id="local-6989586621681028685"><span class="annot"><span class="annottext">[GenBasicBlock Instr]
</span><a href="#local-6989586621681028685"><span class="hs-identifier hs-var">blocks</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-52"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621681028684"><span class="annot"><span class="annottext">platform :: Platform
</span><a href="#local-6989586621681028684"><span class="hs-identifier hs-var hs-var">platform</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">NCGConfig -&gt; Platform
</span><a href="GHC.CmmToAsm.Config.html#ncgPlatform"><span class="hs-identifier hs-var hs-var">ncgPlatform</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028691"><span class="hs-identifier hs-var">config</span></a></span><span> </span><span class="hs-keyword">in</span><span>
</span><span id="line-53"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">NatCmmDecl RawCmmStatics Instr -&gt; Maybe RawCmmStatics
forall a i b. GenCmmDecl a (LabelMap i) (ListGraph b) -&gt; Maybe i
</span><a href="GHC.CmmToAsm.Instr.html#topInfoTable"><span class="hs-identifier hs-var">topInfoTable</span></a></span><span> </span><span class="annot"><span class="annottext">NatCmmDecl RawCmmStatics Instr
</span><a href="#local-6989586621681028690"><span class="hs-identifier hs-var">proc</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-54"></span><span>    </span><span class="annot"><span class="annottext">Maybe RawCmmStatics
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-55"></span><span>         </span><span class="hs-comment">-- special case for code without info table:</span><span>
</span><span id="line-56"></span><span>         </span><span class="annot"><span class="annottext">NCGConfig -&gt; Section -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprSectionAlign"><span class="hs-identifier hs-var">pprSectionAlign</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028691"><span class="hs-identifier hs-var">config</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">SectionType -&gt; CLabel -&gt; Section
</span><a href="GHC.Cmm.html#Section"><span class="hs-identifier hs-var">Section</span></a></span><span> </span><span class="annot"><span class="annottext">SectionType
</span><a href="GHC.Cmm.html#Text"><span class="hs-identifier hs-var">Text</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028687"><span class="hs-identifier hs-var">lbl</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-57"></span><span>         </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformArch"><span class="hs-identifier hs-var">platformArch</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028684"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-58"></span><span>            </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#ArchPPC_64"><span class="hs-identifier hs-type">ArchPPC_64</span></a></span><span> </span><span class="annot"><span class="annottext">PPC_64ABI
</span><a href="../../ghc-boot/src/GHC.Platform.html#ELF_V1"><span class="hs-identifier hs-var">ELF_V1</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFunctionDescriptor"><span class="hs-identifier hs-var">pprFunctionDescriptor</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028687"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-59"></span><span>            </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#ArchPPC_64"><span class="hs-identifier hs-type">ArchPPC_64</span></a></span><span> </span><span class="annot"><span class="annottext">PPC_64ABI
</span><a href="../../ghc-boot/src/GHC.Platform.html#ELF_V2"><span class="hs-identifier hs-var">ELF_V2</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFunctionPrologue"><span class="hs-identifier hs-var">pprFunctionPrologue</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028687"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-60"></span><span>            </span><span class="annot"><span class="annottext">Arch
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLabel"><span class="hs-identifier hs-var">pprLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028684"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028687"><span class="hs-identifier hs-var">lbl</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span> </span><span class="hs-comment">-- blocks guaranteed not null,</span><span>
</span><span id="line-61"></span><span>                                           </span><span class="hs-comment">-- so label needed</span><span>
</span><span id="line-62"></span><span>         </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(GenBasicBlock Instr -&gt; SDoc) -&gt; [GenBasicBlock Instr] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">NCGConfig -&gt; LabelMap RawCmmStatics -&gt; GenBasicBlock Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprBasicBlock"><span class="hs-identifier hs-var">pprBasicBlock</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028691"><span class="hs-identifier hs-var">config</span></a></span><span> </span><span class="annot"><span class="annottext">LabelMap RawCmmStatics
</span><a href="#local-6989586621681028688"><span class="hs-identifier hs-var">top_info</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[GenBasicBlock Instr]
</span><a href="#local-6989586621681028685"><span class="hs-identifier hs-var">blocks</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-63"></span><span>         </span><span class="hs-special">(</span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">NCGConfig -&gt; Int
</span><a href="GHC.CmmToAsm.Config.html#ncgDebugLevel"><span class="hs-identifier hs-var hs-var">ncgDebugLevel</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028691"><span class="hs-identifier hs-var">config</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-64"></span><span>          </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkAsmTempEndLabel"><span class="hs-identifier hs-var">mkAsmTempEndLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028687"><span class="hs-identifier hs-var">lbl</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">':'</span></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-65"></span><span>         </span><span class="annot"><span class="annottext">Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprSizeDecl"><span class="hs-identifier hs-var">pprSizeDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028684"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028687"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-66"></span><span>
</span><span id="line-67"></span><span>    </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.html#CmmStaticsRaw"><span class="hs-identifier hs-type">CmmStaticsRaw</span></a></span><span> </span><span id="local-6989586621681028662"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028662"><span class="hs-identifier hs-var">info_lbl</span></a></span></span><span> </span><span class="annot"><span class="annottext">[CmmStatic]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-68"></span><span>      </span><span class="annot"><span class="annottext">NCGConfig -&gt; Section -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprSectionAlign"><span class="hs-identifier hs-var">pprSectionAlign</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028691"><span class="hs-identifier hs-var">config</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">SectionType -&gt; CLabel -&gt; Section
</span><a href="GHC.Cmm.html#Section"><span class="hs-identifier hs-var">Section</span></a></span><span> </span><span class="annot"><span class="annottext">SectionType
</span><a href="GHC.Cmm.html#Text"><span class="hs-identifier hs-var">Text</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028662"><span class="hs-identifier hs-var">info_lbl</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-69"></span><span>      </span><span class="hs-special">(</span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Bool
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformHasSubsectionsViaSymbols"><span class="hs-identifier hs-var hs-var">platformHasSubsectionsViaSymbols</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028684"><span class="hs-identifier hs-var">platform</span></a></span><span>
</span><span id="line-70"></span><span>          </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkDeadStripPreventer"><span class="hs-identifier hs-var">mkDeadStripPreventer</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028662"><span class="hs-identifier hs-var">info_lbl</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">':'</span></span><span>
</span><span id="line-71"></span><span>          </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-72"></span><span>      </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(GenBasicBlock Instr -&gt; SDoc) -&gt; [GenBasicBlock Instr] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">NCGConfig -&gt; LabelMap RawCmmStatics -&gt; GenBasicBlock Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprBasicBlock"><span class="hs-identifier hs-var">pprBasicBlock</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028691"><span class="hs-identifier hs-var">config</span></a></span><span> </span><span class="annot"><span class="annottext">LabelMap RawCmmStatics
</span><a href="#local-6989586621681028688"><span class="hs-identifier hs-var">top_info</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[GenBasicBlock Instr]
</span><a href="#local-6989586621681028685"><span class="hs-identifier hs-var">blocks</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-73"></span><span>      </span><span class="hs-comment">-- above: Even the first block gets a label, because with branch-chain</span><span>
</span><span id="line-74"></span><span>      </span><span class="hs-comment">-- elimination, it might be the target of a goto.</span><span>
</span><span id="line-75"></span><span>      </span><span class="hs-special">(</span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Bool
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformHasSubsectionsViaSymbols"><span class="hs-identifier hs-var hs-var">platformHasSubsectionsViaSymbols</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028684"><span class="hs-identifier hs-var">platform</span></a></span><span>
</span><span id="line-76"></span><span>       </span><span class="hs-keyword">then</span><span>
</span><span id="line-77"></span><span>       </span><span class="hs-comment">-- See Note [Subsections Via Symbols] in X86/Ppr.hs</span><span>
</span><span id="line-78"></span><span>                </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.long &quot;</span></span><span>
</span><span id="line-79"></span><span>            </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028662"><span class="hs-identifier hs-var">info_lbl</span></a></span><span>
</span><span id="line-80"></span><span>            </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'-'</span></span><span>
</span><span id="line-81"></span><span>            </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkDeadStripPreventer"><span class="hs-identifier hs-var">mkDeadStripPreventer</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028662"><span class="hs-identifier hs-var">info_lbl</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-82"></span><span>       </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-83"></span><span>      </span><span class="annot"><span class="annottext">Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprSizeDecl"><span class="hs-identifier hs-var">pprSizeDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028684"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028662"><span class="hs-identifier hs-var">info_lbl</span></a></span><span>
</span><span id="line-84"></span><span>
</span><span id="line-85"></span><span class="hs-comment">-- | Output the ELF .size directive.</span><span>
</span><span id="line-86"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprSizeDecl"><span class="hs-identifier hs-type">pprSizeDecl</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-87"></span><span id="pprSizeDecl"><span class="annot"><span class="annottext">pprSizeDecl :: Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprSizeDecl"><span class="hs-identifier hs-var hs-var">pprSizeDecl</span></a></span></span><span> </span><span id="local-6989586621681028657"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028657"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621681028656"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028656"><span class="hs-identifier hs-var">lbl</span></a></span></span><span>
</span><span id="line-88"></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">OS -&gt; Bool
</span><a href="../../ghc-boot/src/GHC.Platform.html#osElfTarget"><span class="hs-identifier hs-var">osElfTarget</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformOS"><span class="hs-identifier hs-var">platformOS</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028657"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-89"></span><span>   </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.size&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621681028653"><span class="hs-identifier hs-var">prettyLbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, .-&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621681028652"><span class="hs-identifier hs-var">codeLbl</span></a></span><span>
</span><span id="line-90"></span><span>   </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-91"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-92"></span><span>    </span><span id="local-6989586621681028653"><span class="annot"><span class="annottext">prettyLbl :: SDoc
</span><a href="#local-6989586621681028653"><span class="hs-identifier hs-var hs-var">prettyLbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028656"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-93"></span><span>    </span><span id="local-6989586621681028652"><span class="annot"><span class="annottext">codeLbl :: SDoc
</span><a href="#local-6989586621681028652"><span class="hs-identifier hs-var hs-var">codeLbl</span></a></span></span><span>
</span><span id="line-94"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformArch"><span class="hs-identifier hs-var">platformArch</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028657"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">Arch -&gt; Arch -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">PPC_64ABI -&gt; Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#ArchPPC_64"><span class="hs-identifier hs-var">ArchPPC_64</span></a></span><span> </span><span class="annot"><span class="annottext">PPC_64ABI
</span><a href="../../ghc-boot/src/GHC.Platform.html#ELF_V1"><span class="hs-identifier hs-var">ELF_V1</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'.'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621681028653"><span class="hs-identifier hs-var">prettyLbl</span></a></span><span>
</span><span id="line-95"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621681028653"><span class="hs-identifier hs-var">prettyLbl</span></a></span><span>
</span><span id="line-96"></span><span>
</span><span id="line-97"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFunctionDescriptor"><span class="hs-identifier hs-type">pprFunctionDescriptor</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-98"></span><span id="pprFunctionDescriptor"><span class="annot"><span class="annottext">pprFunctionDescriptor :: CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFunctionDescriptor"><span class="hs-identifier hs-var hs-var">pprFunctionDescriptor</span></a></span></span><span> </span><span id="local-6989586621681028648"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028648"><span class="hs-identifier hs-var">lab</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprGloblDecl"><span class="hs-identifier hs-var">pprGloblDecl</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028648"><span class="hs-identifier hs-var">lab</span></a></span><span>
</span><span id="line-99"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.section \&quot;.opd\&quot;, \&quot;aw\&quot;&quot;</span></span><span>
</span><span id="line-100"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.align 3&quot;</span></span><span>
</span><span id="line-101"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>  </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028648"><span class="hs-identifier hs-var">lab</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">':'</span></span><span>
</span><span id="line-102"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.quad .&quot;</span></span><span>
</span><span id="line-103"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span>  </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028648"><span class="hs-identifier hs-var">lab</span></a></span><span>
</span><span id="line-104"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span>  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;,.TOC.@tocbase,0&quot;</span></span><span>
</span><span id="line-105"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.previous&quot;</span></span><span>
</span><span id="line-106"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.type&quot;</span></span><span>
</span><span id="line-107"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028648"><span class="hs-identifier hs-var">lab</span></a></span><span>
</span><span id="line-108"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span>  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, @function&quot;</span></span><span>
</span><span id="line-109"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>  </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'.'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028648"><span class="hs-identifier hs-var">lab</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">':'</span></span><span>
</span><span id="line-110"></span><span>
</span><span id="line-111"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFunctionPrologue"><span class="hs-identifier hs-type">pprFunctionPrologue</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-112"></span><span id="pprFunctionPrologue"><span class="annot"><span class="annottext">pprFunctionPrologue :: CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFunctionPrologue"><span class="hs-identifier hs-var hs-var">pprFunctionPrologue</span></a></span></span><span> </span><span id="local-6989586621681028646"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028646"><span class="hs-identifier hs-var">lab</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprGloblDecl"><span class="hs-identifier hs-var">pprGloblDecl</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028646"><span class="hs-identifier hs-var">lab</span></a></span><span>
</span><span id="line-113"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.type &quot;</span></span><span>
</span><span id="line-114"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028646"><span class="hs-identifier hs-var">lab</span></a></span><span>
</span><span id="line-115"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, @function&quot;</span></span><span>
</span><span id="line-116"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028646"><span class="hs-identifier hs-var">lab</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">':'</span></span><span>
</span><span id="line-117"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;0:\taddis\t&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="GHC.CmmToAsm.PPC.Regs.html#toc"><span class="hs-identifier hs-var">toc</span></a></span><span>
</span><span id="line-118"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;,12,.TOC.-0b@ha&quot;</span></span><span>
</span><span id="line-119"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\taddi\t&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="GHC.CmmToAsm.PPC.Regs.html#toc"><span class="hs-identifier hs-var">toc</span></a></span><span>
</span><span id="line-120"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">','</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="GHC.CmmToAsm.PPC.Regs.html#toc"><span class="hs-identifier hs-var">toc</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;,.TOC.-0b@l&quot;</span></span><span>
</span><span id="line-121"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.localentry\t&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028646"><span class="hs-identifier hs-var">lab</span></a></span><span>
</span><span id="line-122"></span><span>                        </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;,.-&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028646"><span class="hs-identifier hs-var">lab</span></a></span><span>
</span><span id="line-123"></span><span>
</span><span id="line-124"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprBasicBlock"><span class="hs-identifier hs-type">pprBasicBlock</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Config.html#NCGConfig"><span class="hs-identifier hs-type">NCGConfig</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.Dataflow.Label.html#LabelMap"><span class="hs-identifier hs-type">LabelMap</span></a></span><span> </span><span class="annot"><a href="GHC.Cmm.html#RawCmmStatics"><span class="hs-identifier hs-type">RawCmmStatics</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Instr.html#NatBasicBlock"><span class="hs-identifier hs-type">NatBasicBlock</span></a></span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#Instr"><span class="hs-identifier hs-type">Instr</span></a></span><span>
</span><span id="line-125"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-126"></span><span id="pprBasicBlock"><span class="annot"><span class="annottext">pprBasicBlock :: NCGConfig -&gt; LabelMap RawCmmStatics -&gt; GenBasicBlock Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprBasicBlock"><span class="hs-identifier hs-var hs-var">pprBasicBlock</span></a></span></span><span> </span><span id="local-6989586621681028642"><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028642"><span class="hs-identifier hs-var">config</span></a></span></span><span> </span><span id="local-6989586621681028641"><span class="annot"><span class="annottext">LabelMap RawCmmStatics
</span><a href="#local-6989586621681028641"><span class="hs-identifier hs-var">info_env</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.html#BasicBlock"><span class="hs-identifier hs-type">BasicBlock</span></a></span><span> </span><span id="local-6989586621681028639"><span class="annot"><span class="annottext">BlockId
</span><a href="#local-6989586621681028639"><span class="hs-identifier hs-var">blockid</span></a></span></span><span> </span><span id="local-6989586621681028638"><span class="annot"><span class="annottext">[Instr]
</span><a href="#local-6989586621681028638"><span class="hs-identifier hs-var">instrs</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-127"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621681028637"><span class="hs-identifier hs-var">maybe_infotable</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-128"></span><span>    </span><span class="annot"><span class="annottext">Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLabel"><span class="hs-identifier hs-var">pprLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028636"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028635"><span class="hs-identifier hs-var">asmLbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-129"></span><span>    </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(Instr -&gt; SDoc) -&gt; [Instr] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var">pprInstr</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028636"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[Instr]
</span><a href="#local-6989586621681028638"><span class="hs-identifier hs-var">instrs</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-130"></span><span>    </span><span class="hs-special">(</span><span class="hs-keyword">if</span><span>  </span><span class="annot"><span class="annottext">NCGConfig -&gt; Int
</span><a href="GHC.CmmToAsm.Config.html#ncgDebugLevel"><span class="hs-identifier hs-var hs-var">ncgDebugLevel</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028642"><span class="hs-identifier hs-var">config</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-131"></span><span>      </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkAsmTempEndLabel"><span class="hs-identifier hs-var">mkAsmTempEndLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028635"><span class="hs-identifier hs-var">asmLbl</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">':'</span></span><span>
</span><span id="line-132"></span><span>      </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-133"></span><span>    </span><span class="hs-special">)</span><span>
</span><span id="line-134"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-135"></span><span>    </span><span id="local-6989586621681028635"><span class="annot"><span class="annottext">asmLbl :: CLabel
</span><a href="#local-6989586621681028635"><span class="hs-identifier hs-var hs-var">asmLbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BlockId -&gt; CLabel
</span><a href="GHC.Cmm.BlockId.html#blockLbl"><span class="hs-identifier hs-var">blockLbl</span></a></span><span> </span><span class="annot"><span class="annottext">BlockId
</span><a href="#local-6989586621681028639"><span class="hs-identifier hs-var">blockid</span></a></span><span>
</span><span id="line-136"></span><span>    </span><span id="local-6989586621681028636"><span class="annot"><span class="annottext">platform :: Platform
</span><a href="#local-6989586621681028636"><span class="hs-identifier hs-var hs-var">platform</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">NCGConfig -&gt; Platform
</span><a href="GHC.CmmToAsm.Config.html#ncgPlatform"><span class="hs-identifier hs-var hs-var">ncgPlatform</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028642"><span class="hs-identifier hs-var">config</span></a></span><span>
</span><span id="line-137"></span><span>    </span><span id="local-6989586621681028637"><span class="annot"><span class="annottext">maybe_infotable :: SDoc
</span><a href="#local-6989586621681028637"><span class="hs-identifier hs-var hs-var">maybe_infotable</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">KeyOf LabelMap -&gt; LabelMap RawCmmStatics -&gt; Maybe RawCmmStatics
forall (map :: * -&gt; *) a.
IsMap map =&gt;
KeyOf map -&gt; map a -&gt; Maybe a
</span><a href="GHC.Cmm.Dataflow.Collections.html#mapLookup"><span class="hs-identifier hs-var">mapLookup</span></a></span><span> </span><span class="annot"><span class="annottext">KeyOf LabelMap
BlockId
</span><a href="#local-6989586621681028639"><span class="hs-identifier hs-var">blockid</span></a></span><span> </span><span class="annot"><span class="annottext">LabelMap RawCmmStatics
</span><a href="#local-6989586621681028641"><span class="hs-identifier hs-var">info_env</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-138"></span><span>       </span><span class="annot"><span class="annottext">Maybe RawCmmStatics
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-139"></span><span>       </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.html#CmmStaticsRaw"><span class="hs-identifier hs-type">CmmStaticsRaw</span></a></span><span> </span><span id="local-6989586621681028629"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028629"><span class="hs-identifier hs-var">info_lbl</span></a></span></span><span> </span><span id="local-6989586621681028628"><span class="annot"><span class="annottext">[CmmStatic]
</span><a href="#local-6989586621681028628"><span class="hs-identifier hs-var">info</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-140"></span><span>           </span><span class="annot"><span class="annottext">Platform -&gt; SectionType -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAlignForSection"><span class="hs-identifier hs-var">pprAlignForSection</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028636"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">SectionType
</span><a href="GHC.Cmm.html#Text"><span class="hs-identifier hs-var">Text</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-141"></span><span>           </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(CmmStatic -&gt; SDoc) -&gt; [CmmStatic] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; CmmStatic -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprData"><span class="hs-identifier hs-var">pprData</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028636"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[CmmStatic]
</span><a href="#local-6989586621681028628"><span class="hs-identifier hs-var">info</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-142"></span><span>           </span><span class="annot"><span class="annottext">Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLabel"><span class="hs-identifier hs-var">pprLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028636"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028629"><span class="hs-identifier hs-var">info_lbl</span></a></span><span>
</span><span id="line-143"></span><span>
</span><span id="line-144"></span><span>
</span><span id="line-145"></span><span>
</span><span id="line-146"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprDatas"><span class="hs-identifier hs-type">pprDatas</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.html#RawCmmStatics"><span class="hs-identifier hs-type">RawCmmStatics</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-147"></span><span class="hs-comment">-- See note [emit-time elimination of static indirections] in &quot;GHC.Cmm.CLabel&quot;.</span><span>
</span><span id="line-148"></span><span id="pprDatas"><span class="annot"><span class="annottext">pprDatas :: Platform -&gt; RawCmmStatics -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprDatas"><span class="hs-identifier hs-var hs-var">pprDatas</span></a></span></span><span> </span><span id="local-6989586621681028625"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028625"><span class="hs-identifier hs-var">_platform</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.html#CmmStaticsRaw"><span class="hs-identifier hs-type">CmmStaticsRaw</span></a></span><span> </span><span id="local-6989586621681028624"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028624"><span class="hs-identifier hs-var">alias</span></a></span></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Cmm.html#CmmStaticLit"><span class="hs-identifier hs-type">CmmStaticLit</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.Expr.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621681028621"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028621"><span class="hs-identifier hs-var">lbl</span></a></span></span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.html#CmmStaticLit"><span class="hs-identifier hs-type">CmmStaticLit</span></a></span><span> </span><span id="local-6989586621681028620"><span class="annot"><span class="annottext">CmmLit
</span><a href="#local-6989586621681028620"><span class="hs-identifier hs-var">ind</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CmmStatic
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CmmStatic
</span><span class="hs-identifier">_</span></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-149"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028621"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; CLabel -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="GHC.Cmm.CLabel.html#mkIndStaticInfoLabel"><span class="hs-identifier hs-var">mkIndStaticInfoLabel</span></a></span><span>
</span><span id="line-150"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621681028618"><span class="annot"><span class="annottext">labelInd :: CmmLit -&gt; Maybe CLabel
</span><a href="#local-6989586621681028618"><span class="hs-identifier hs-var hs-var">labelInd</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.Expr.html#CmmLabelOff"><span class="hs-identifier hs-type">CmmLabelOff</span></a></span><span> </span><span id="local-6989586621681028616"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028616"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; Maybe CLabel
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028616"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-151"></span><span>        </span><span class="annot"><a href="#local-6989586621681028618"><span class="hs-identifier hs-var">labelInd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.Expr.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621681028615"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028615"><span class="hs-identifier hs-var">l</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; Maybe CLabel
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028615"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-152"></span><span>        </span><span class="annot"><a href="#local-6989586621681028618"><span class="hs-identifier hs-var">labelInd</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLit
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe CLabel
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-153"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621681028614"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028614"><span class="hs-identifier hs-var">ind'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CmmLit -&gt; Maybe CLabel
</span><a href="#local-6989586621681028618"><span class="hs-identifier hs-var">labelInd</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLit
</span><a href="#local-6989586621681028620"><span class="hs-identifier hs-var">ind</span></a></span><span>
</span><span id="line-154"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028624"><span class="hs-identifier hs-var">alias</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#mayRedirectTo"><span class="hs-operator hs-var">`mayRedirectTo`</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028614"><span class="hs-identifier hs-var">ind'</span></a></span><span>
</span><span id="line-155"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprGloblDecl"><span class="hs-identifier hs-var">pprGloblDecl</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028624"><span class="hs-identifier hs-var">alias</span></a></span><span>
</span><span id="line-156"></span><span>    </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.equiv&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028624"><span class="hs-identifier hs-var">alias</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#comma"><span class="hs-identifier hs-var">comma</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLit -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; CmmLit
</span><a href="GHC.Cmm.Expr.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028614"><span class="hs-identifier hs-var">ind'</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-157"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprDatas"><span class="hs-identifier hs-var">pprDatas</span></a></span><span> </span><span id="local-6989586621681028611"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028611"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.html#CmmStaticsRaw"><span class="hs-identifier hs-type">CmmStaticsRaw</span></a></span><span> </span><span id="local-6989586621681028610"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028610"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span id="local-6989586621681028609"><span class="annot"><span class="annottext">[CmmStatic]
</span><a href="#local-6989586621681028609"><span class="hs-identifier hs-var">dats</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLabel"><span class="hs-identifier hs-var">pprLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028611"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028610"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; [SDoc] -&gt; [SDoc]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">(CmmStatic -&gt; SDoc) -&gt; [CmmStatic] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; CmmStatic -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprData"><span class="hs-identifier hs-var">pprData</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028611"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[CmmStatic]
</span><a href="#local-6989586621681028609"><span class="hs-identifier hs-var">dats</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-158"></span><span>
</span><span id="line-159"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprData"><span class="hs-identifier hs-type">pprData</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.html#CmmStatic"><span class="hs-identifier hs-type">CmmStatic</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-160"></span><span id="pprData"><span class="annot"><span class="annottext">pprData :: Platform -&gt; CmmStatic -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprData"><span class="hs-identifier hs-var hs-var">pprData</span></a></span></span><span> </span><span id="local-6989586621681028608"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028608"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621681028607"><span class="annot"><span class="annottext">CmmStatic
</span><a href="#local-6989586621681028607"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">CmmStatic
</span><a href="#local-6989586621681028607"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-161"></span><span>   </span><span class="annot"><a href="GHC.Cmm.html#CmmString"><span class="hs-identifier hs-type">CmmString</span></a></span><span> </span><span id="local-6989586621681028605"><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621681028605"><span class="hs-identifier hs-var">str</span></a></span></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteString -&gt; SDoc
</span><a href="GHC.CmmToAsm.Ppr.html#pprString"><span class="hs-identifier hs-var">pprString</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621681028605"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-162"></span><span>   </span><span class="annot"><a href="GHC.Cmm.html#CmmFileEmbed"><span class="hs-identifier hs-type">CmmFileEmbed</span></a></span><span> </span><span id="local-6989586621681028602"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621681028602"><span class="hs-identifier hs-var">path</span></a></span></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.CmmToAsm.Ppr.html#pprFileEmbed"><span class="hs-identifier hs-var">pprFileEmbed</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621681028602"><span class="hs-identifier hs-var">path</span></a></span><span>
</span><span id="line-163"></span><span>   </span><span class="annot"><a href="GHC.Cmm.html#CmmUninitialised"><span class="hs-identifier hs-type">CmmUninitialised</span></a></span><span> </span><span id="local-6989586621681028599"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028599"><span class="hs-identifier hs-var">bytes</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.space &quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028599"><span class="hs-identifier hs-var">bytes</span></a></span><span>
</span><span id="line-164"></span><span>   </span><span class="annot"><a href="GHC.Cmm.html#CmmStaticLit"><span class="hs-identifier hs-type">CmmStaticLit</span></a></span><span> </span><span id="local-6989586621681028597"><span class="annot"><span class="annottext">CmmLit
</span><a href="#local-6989586621681028597"><span class="hs-identifier hs-var">lit</span></a></span></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; CmmLit -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprDataItem"><span class="hs-identifier hs-var">pprDataItem</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028608"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLit
</span><a href="#local-6989586621681028597"><span class="hs-identifier hs-var">lit</span></a></span><span>
</span><span id="line-165"></span><span>
</span><span id="line-166"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprGloblDecl"><span class="hs-identifier hs-type">pprGloblDecl</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-167"></span><span id="pprGloblDecl"><span class="annot"><span class="annottext">pprGloblDecl :: CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprGloblDecl"><span class="hs-identifier hs-var hs-var">pprGloblDecl</span></a></span></span><span> </span><span id="local-6989586621681028595"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028595"><span class="hs-identifier hs-var">lbl</span></a></span></span><span>
</span><span id="line-168"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028595"><span class="hs-identifier hs-var">lbl</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-169"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.globl &quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028595"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-170"></span><span>
</span><span id="line-171"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprTypeAndSizeDecl"><span class="hs-identifier hs-type">pprTypeAndSizeDecl</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-172"></span><span id="pprTypeAndSizeDecl"><span class="annot"><span class="annottext">pprTypeAndSizeDecl :: Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprTypeAndSizeDecl"><span class="hs-identifier hs-var hs-var">pprTypeAndSizeDecl</span></a></span></span><span> </span><span id="local-6989586621681028591"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028591"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621681028590"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028590"><span class="hs-identifier hs-var">lbl</span></a></span></span><span>
</span><span id="line-173"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformOS"><span class="hs-identifier hs-var">platformOS</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028591"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">OS -&gt; OS -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#OSLinux"><span class="hs-identifier hs-var">OSLinux</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028590"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-174"></span><span>    </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.type &quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span>
</span><span id="line-175"></span><span>         </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028590"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, @object&quot;</span></span><span>
</span><span id="line-176"></span><span>    </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-177"></span><span>
</span><span id="line-178"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLabel"><span class="hs-identifier hs-type">pprLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-179"></span><span id="pprLabel"><span class="annot"><span class="annottext">pprLabel :: Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLabel"><span class="hs-identifier hs-var hs-var">pprLabel</span></a></span></span><span> </span><span id="local-6989586621681028587"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028587"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621681028586"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028586"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-180"></span><span>   </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprGloblDecl"><span class="hs-identifier hs-var">pprGloblDecl</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028586"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-181"></span><span>   </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span> </span><span class="annot"><span class="annottext">Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprTypeAndSizeDecl"><span class="hs-identifier hs-var">pprTypeAndSizeDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028587"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028586"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-182"></span><span>   </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028586"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">':'</span></span><span class="hs-special">)</span><span>
</span><span id="line-183"></span><span>
</span><span id="line-184"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-185"></span><span class="hs-comment">-- pprInstr: print an 'Instr'</span><span>
</span><span id="line-186"></span><span>
</span><span id="line-187"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621681028583"><span class="annot"><a href="GHC.Utils.Outputable.html#Outputable"><span class="hs-identifier hs-type">Outputable</span></a></span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#Instr"><span class="hs-identifier hs-type">Instr</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-188"></span><span>    </span><span id="local-6989586621681028581"><span class="annot"><span class="annottext">ppr :: Instr -&gt; SDoc
</span><a href="#local-6989586621681028581"><span class="hs-identifier hs-var hs-var hs-var hs-var">ppr</span></a></span></span><span> </span><span id="local-6989586621681028580"><span class="annot"><span class="annottext">Instr
</span><a href="#local-6989586621681028580"><span class="hs-identifier hs-var">instr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(DynFlags -&gt; SDoc) -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#sdocWithDynFlags"><span class="hs-identifier hs-var">sdocWithDynFlags</span></a></span><span> </span><span class="annot"><span class="annottext">((DynFlags -&gt; SDoc) -&gt; SDoc) -&gt; (DynFlags -&gt; SDoc) -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621681028578"><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621681028578"><span class="hs-identifier hs-var">dflags</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-189"></span><span>                  </span><span class="annot"><span class="annottext">Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var">pprInstr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">DynFlags -&gt; Platform
</span><a href="GHC.Driver.Session.html#targetPlatform"><span class="hs-identifier hs-var hs-var">targetPlatform</span></a></span><span> </span><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621681028578"><span class="hs-identifier hs-var">dflags</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Instr
</span><a href="#local-6989586621681028580"><span class="hs-identifier hs-var">instr</span></a></span><span>
</span><span id="line-190"></span><span>
</span><span id="line-191"></span><span>
</span><span id="line-192"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-type">pprReg</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-193"></span><span>
</span><span id="line-194"></span><span id="pprReg"><span class="annot"><span class="annottext">pprReg :: Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var hs-var">pprReg</span></a></span></span><span> </span><span id="local-6989586621681028577"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028577"><span class="hs-identifier hs-var">r</span></a></span></span><span>
</span><span id="line-195"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028577"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-196"></span><span>      </span><span class="annot"><a href="GHC.Platform.Reg.html#RegReal"><span class="hs-identifier hs-type">RegReal</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Platform.Reg.html#RealRegSingle"><span class="hs-identifier hs-type">RealRegSingle</span></a></span><span> </span><span id="local-6989586621681028574"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028574"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="#local-6989586621681028573"><span class="hs-identifier hs-var">ppr_reg_no</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028574"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-197"></span><span>      </span><span class="annot"><a href="GHC.Platform.Reg.html#RegReal"><span class="hs-identifier hs-type">RegReal</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Platform.Reg.html#RealRegPair"><span class="hs-identifier hs-type">RealRegPair</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.pprReg: no reg pairs on this arch&quot;</span></span><span>
</span><span id="line-198"></span><span>      </span><span class="annot"><a href="GHC.Platform.Reg.html#RegVirtual"><span class="hs-identifier hs-type">RegVirtual</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Platform.Reg.html#VirtualRegI"><span class="hs-identifier hs-type">VirtualRegI</span></a></span><span>  </span><span id="local-6989586621681028568"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621681028568"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%vI_&quot;</span></span><span>   </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621681028568"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-199"></span><span>      </span><span class="annot"><a href="GHC.Platform.Reg.html#RegVirtual"><span class="hs-identifier hs-type">RegVirtual</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Platform.Reg.html#VirtualRegHi"><span class="hs-identifier hs-type">VirtualRegHi</span></a></span><span> </span><span id="local-6989586621681028566"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621681028566"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%vHi_&quot;</span></span><span>  </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621681028566"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-200"></span><span>      </span><span class="annot"><a href="GHC.Platform.Reg.html#RegVirtual"><span class="hs-identifier hs-type">RegVirtual</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Platform.Reg.html#VirtualRegF"><span class="hs-identifier hs-type">VirtualRegF</span></a></span><span>  </span><span id="local-6989586621681028564"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621681028564"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%vF_&quot;</span></span><span>   </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621681028564"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-201"></span><span>      </span><span class="annot"><a href="GHC.Platform.Reg.html#RegVirtual"><span class="hs-identifier hs-type">RegVirtual</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Platform.Reg.html#VirtualRegD"><span class="hs-identifier hs-type">VirtualRegD</span></a></span><span>  </span><span id="local-6989586621681028562"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621681028562"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;%vD_&quot;</span></span><span>   </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621681028562"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-202"></span><span>
</span><span id="line-203"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-204"></span><span>    </span><span class="annot"><a href="#local-6989586621681028573"><span class="hs-identifier hs-type">ppr_reg_no</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-205"></span><span>    </span><span id="local-6989586621681028573"><span class="annot"><span class="annottext">ppr_reg_no :: Int -&gt; SDoc
</span><a href="#local-6989586621681028573"><span class="hs-identifier hs-var hs-var">ppr_reg_no</span></a></span></span><span> </span><span id="local-6989586621681028561"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028561"><span class="hs-identifier hs-var">i</span></a></span></span><span>
</span><span id="line-206"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028561"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&lt;=</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">31</span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028561"><span class="hs-identifier hs-var">i</span></a></span><span>      </span><span class="hs-comment">-- GPRs</span><span>
</span><span id="line-207"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028561"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&lt;=</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">63</span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028561"><span class="hs-identifier hs-var">i</span></a></span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">32</span></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- FPRs</span><span>
</span><span id="line-208"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;very naughty powerpc register&quot;</span></span><span>
</span><span id="line-209"></span><span>
</span><span id="line-210"></span><span>
</span><span id="line-211"></span><span>
</span><span id="line-212"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFormat"><span class="hs-identifier hs-type">pprFormat</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Format.html#Format"><span class="hs-identifier hs-type">Format</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-213"></span><span id="pprFormat"><span class="annot"><span class="annottext">pprFormat :: Format -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFormat"><span class="hs-identifier hs-var hs-var">pprFormat</span></a></span></span><span> </span><span id="local-6989586621681028558"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028558"><span class="hs-identifier hs-var">x</span></a></span></span><span>
</span><span id="line-214"></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028558"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-215"></span><span>                </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II8"><span class="hs-identifier hs-var">II8</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;b&quot;</span></span><span>
</span><span id="line-216"></span><span>                </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II16"><span class="hs-identifier hs-var">II16</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;h&quot;</span></span><span>
</span><span id="line-217"></span><span>                </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;w&quot;</span></span><span>
</span><span id="line-218"></span><span>                </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;d&quot;</span></span><span>
</span><span id="line-219"></span><span>                </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#FF32"><span class="hs-identifier hs-var">FF32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fs&quot;</span></span><span>
</span><span id="line-220"></span><span>                </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#FF64"><span class="hs-identifier hs-var">FF64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fd&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-221"></span><span>
</span><span id="line-222"></span><span>
</span><span id="line-223"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprCond"><span class="hs-identifier hs-type">pprCond</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Cond.html#Cond"><span class="hs-identifier hs-type">Cond</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-224"></span><span id="pprCond"><span class="annot"><span class="annottext">pprCond :: Cond -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprCond"><span class="hs-identifier hs-var hs-var">pprCond</span></a></span></span><span> </span><span id="local-6989586621681028548"><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621681028548"><span class="hs-identifier hs-var">c</span></a></span></span><span>
</span><span id="line-225"></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621681028548"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-226"></span><span>                </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#ALWAYS"><span class="hs-identifier hs-var">ALWAYS</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span class="hs-special">;</span><span>
</span><span id="line-227"></span><span>                </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#EQQ"><span class="hs-identifier hs-var">EQQ</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;eq&quot;</span></span><span class="hs-special">;</span><span>  </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#NE"><span class="hs-identifier hs-var">NE</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ne&quot;</span></span><span class="hs-special">;</span><span>
</span><span id="line-228"></span><span>                </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#LTT"><span class="hs-identifier hs-var">LTT</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lt&quot;</span></span><span class="hs-special">;</span><span>  </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#GE"><span class="hs-identifier hs-var">GE</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ge&quot;</span></span><span class="hs-special">;</span><span>
</span><span id="line-229"></span><span>                </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#GTT"><span class="hs-identifier hs-var">GTT</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;gt&quot;</span></span><span class="hs-special">;</span><span>  </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#LE"><span class="hs-identifier hs-var">LE</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;le&quot;</span></span><span class="hs-special">;</span><span>
</span><span id="line-230"></span><span>                </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#LU"><span class="hs-identifier hs-var">LU</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lt&quot;</span></span><span class="hs-special">;</span><span>  </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#GEU"><span class="hs-identifier hs-var">GEU</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ge&quot;</span></span><span class="hs-special">;</span><span>
</span><span id="line-231"></span><span>                </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#GU"><span class="hs-identifier hs-var">GU</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;gt&quot;</span></span><span class="hs-special">;</span><span>  </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#LEU"><span class="hs-identifier hs-var">LEU</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;le&quot;</span></span><span class="hs-special">;</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-232"></span><span>
</span><span id="line-233"></span><span>
</span><span id="line-234"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-type">pprImm</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#Imm"><span class="hs-identifier hs-type">Imm</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-235"></span><span>
</span><span id="line-236"></span><span id="pprImm"><span class="annot"><span class="annottext">pprImm :: Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var hs-var">pprImm</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-type">ImmInt</span></a></span><span> </span><span id="local-6989586621681028534"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028534"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028534"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-237"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInteger"><span class="hs-identifier hs-type">ImmInteger</span></a></span><span> </span><span id="local-6989586621681028532"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028532"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#integer"><span class="hs-identifier hs-var">integer</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028532"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-238"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmCLbl"><span class="hs-identifier hs-type">ImmCLbl</span></a></span><span> </span><span id="local-6989586621681028529"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028529"><span class="hs-identifier hs-var">l</span></a></span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028529"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-239"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmIndex"><span class="hs-identifier hs-type">ImmIndex</span></a></span><span> </span><span id="local-6989586621681028527"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028527"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span id="local-6989586621681028526"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028526"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028527"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'+'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028526"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-240"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmLit"><span class="hs-identifier hs-type">ImmLit</span></a></span><span> </span><span id="local-6989586621681028524"><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621681028524"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621681028524"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-241"></span><span>
</span><span id="line-242"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmFloat"><span class="hs-identifier hs-type">ImmFloat</span></a></span><span> </span><span class="annot"><span class="annottext">Rational
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;naughty float immediate&quot;</span></span><span>
</span><span id="line-243"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmDouble"><span class="hs-identifier hs-type">ImmDouble</span></a></span><span> </span><span class="annot"><span class="annottext">Rational
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;naughty double immediate&quot;</span></span><span>
</span><span id="line-244"></span><span>
</span><span id="line-245"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmConstantSum"><span class="hs-identifier hs-type">ImmConstantSum</span></a></span><span> </span><span id="local-6989586621681028520"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028520"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621681028519"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028519"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028520"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'+'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028519"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-246"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmConstantDiff"><span class="hs-identifier hs-type">ImmConstantDiff</span></a></span><span> </span><span id="local-6989586621681028517"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028517"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621681028516"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028516"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028517"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'-'</span></span><span>
</span><span id="line-247"></span><span>                   </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#lparen"><span class="hs-identifier hs-var">lparen</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028516"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#rparen"><span class="hs-identifier hs-var">rparen</span></a></span><span>
</span><span id="line-248"></span><span>
</span><span id="line-249"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#LO"><span class="hs-identifier hs-type">LO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-type">ImmInt</span></a></span><span> </span><span id="local-6989586621681028512"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028512"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Imm -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#LO"><span class="hs-identifier hs-var">LO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInteger"><span class="hs-identifier hs-var">ImmInteger</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Integer
forall a. Integral a =&gt; a -&gt; Integer
</span><a href="../../base/src/GHC.Real.html#toInteger"><span class="hs-identifier hs-var">toInteger</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028512"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-250"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#LO"><span class="hs-identifier hs-type">LO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInteger"><span class="hs-identifier hs-type">ImmInteger</span></a></span><span> </span><span id="local-6989586621681028511"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028511"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInteger"><span class="hs-identifier hs-var">ImmInteger</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int16 -&gt; Integer
forall a. Integral a =&gt; a -&gt; Integer
</span><a href="../../base/src/GHC.Real.html#toInteger"><span class="hs-identifier hs-var">toInteger</span></a></span><span> </span><span class="annot"><span class="annottext">Int16
</span><a href="#local-6989586621681028510"><span class="hs-identifier hs-var">lo16</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-251"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-252"></span><span>    </span><span id="local-6989586621681028510"><span class="annot"><span class="annottext">lo16 :: Int16
</span><a href="#local-6989586621681028510"><span class="hs-identifier hs-var hs-var">lo16</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Int16
forall a. Num a =&gt; Integer -&gt; a
</span><a href="../../base/src/GHC.Num.html#fromInteger"><span class="hs-identifier hs-var">fromInteger</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028511"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Bits a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/Data.Bits.html#.%26."><span class="hs-operator hs-var">.&amp;.</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">0xffff</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Int.html#Int16"><span class="hs-identifier hs-type">Int16</span></a></span><span>
</span><span id="line-253"></span><span>
</span><span id="line-254"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#LO"><span class="hs-identifier hs-type">LO</span></a></span><span> </span><span id="local-6989586621681028502"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028502"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-255"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028502"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@l&quot;</span></span><span>
</span><span id="line-256"></span><span>
</span><span id="line-257"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#HI"><span class="hs-identifier hs-type">HI</span></a></span><span> </span><span id="local-6989586621681028500"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028500"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-258"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028500"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@h&quot;</span></span><span>
</span><span id="line-259"></span><span>
</span><span id="line-260"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#HA"><span class="hs-identifier hs-type">HA</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-type">ImmInt</span></a></span><span> </span><span id="local-6989586621681028498"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028498"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Imm -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#HA"><span class="hs-identifier hs-var">HA</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInteger"><span class="hs-identifier hs-var">ImmInteger</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Integer
forall a. Integral a =&gt; a -&gt; Integer
</span><a href="../../base/src/GHC.Real.html#toInteger"><span class="hs-identifier hs-var">toInteger</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028498"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-261"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#HA"><span class="hs-identifier hs-type">HA</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInteger"><span class="hs-identifier hs-type">ImmInteger</span></a></span><span> </span><span id="local-6989586621681028497"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028497"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInteger"><span class="hs-identifier hs-var">ImmInteger</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028496"><span class="hs-identifier hs-var">ha16</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-262"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-263"></span><span>    </span><span id="local-6989586621681028496"><span class="annot"><span class="annottext">ha16 :: Integer
</span><a href="#local-6989586621681028496"><span class="hs-identifier hs-var hs-var">ha16</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028490"><span class="hs-identifier hs-var">lo16</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;=</span></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">0x8000</span></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028489"><span class="hs-identifier hs-var">hi16</span></a></span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">1</span></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028489"><span class="hs-identifier hs-var">hi16</span></a></span><span>
</span><span id="line-264"></span><span>    </span><span id="local-6989586621681028489"><span class="annot"><span class="annottext">hi16 :: Integer
</span><a href="#local-6989586621681028489"><span class="hs-identifier hs-var hs-var">hi16</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028497"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Int -&gt; Integer
forall a. Bits a =&gt; a -&gt; Int -&gt; a
</span><a href="../../base/src/Data.Bits.html#shiftR"><span class="hs-operator hs-var">`shiftR`</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">16</span></span><span class="hs-special">)</span><span>
</span><span id="line-265"></span><span>    </span><span id="local-6989586621681028490"><span class="annot"><span class="annottext">lo16 :: Integer
</span><a href="#local-6989586621681028490"><span class="hs-identifier hs-var hs-var">lo16</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028497"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Bits a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/Data.Bits.html#.%26."><span class="hs-operator hs-var">.&amp;.</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">0xffff</span></span><span>
</span><span id="line-266"></span><span>
</span><span id="line-267"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#HA"><span class="hs-identifier hs-type">HA</span></a></span><span> </span><span id="local-6989586621681028483"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028483"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-268"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028483"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@ha&quot;</span></span><span>
</span><span id="line-269"></span><span>
</span><span id="line-270"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#HIGHERA"><span class="hs-identifier hs-type">HIGHERA</span></a></span><span> </span><span id="local-6989586621681028481"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028481"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-271"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028481"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@highera&quot;</span></span><span>
</span><span id="line-272"></span><span>
</span><span id="line-273"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#HIGHESTA"><span class="hs-identifier hs-type">HIGHESTA</span></a></span><span> </span><span id="local-6989586621681028479"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028479"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-274"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028479"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@highesta&quot;</span></span><span>
</span><span id="line-275"></span><span>
</span><span id="line-276"></span><span>
</span><span id="line-277"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-type">pprAddr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrMode"><span class="hs-identifier hs-type">AddrMode</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-278"></span><span id="pprAddr"><span class="annot"><span class="annottext">pprAddr :: AddrMode -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-var hs-var">pprAddr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegReg"><span class="hs-identifier hs-type">AddrRegReg</span></a></span><span> </span><span id="local-6989586621681028476"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028476"><span class="hs-identifier hs-var">r1</span></a></span></span><span> </span><span id="local-6989586621681028475"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028475"><span class="hs-identifier hs-var">r2</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-279"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028476"><span class="hs-identifier hs-var">r1</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">','</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028475"><span class="hs-identifier hs-var">r2</span></a></span><span>
</span><span id="line-280"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-var">pprAddr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-type">AddrRegImm</span></a></span><span> </span><span id="local-6989586621681028473"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028473"><span class="hs-identifier hs-var">r1</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-type">ImmInt</span></a></span><span> </span><span id="local-6989586621681028472"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028472"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-281"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028472"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'('</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028473"><span class="hs-identifier hs-var">r1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">')'</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-282"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-var">pprAddr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-type">AddrRegImm</span></a></span><span> </span><span id="local-6989586621681028470"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028470"><span class="hs-identifier hs-var">r1</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInteger"><span class="hs-identifier hs-type">ImmInteger</span></a></span><span> </span><span id="local-6989586621681028469"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028469"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-283"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#integer"><span class="hs-identifier hs-var">integer</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028469"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'('</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028470"><span class="hs-identifier hs-var">r1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">')'</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-284"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-var">pprAddr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-type">AddrRegImm</span></a></span><span> </span><span id="local-6989586621681028468"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028468"><span class="hs-identifier hs-var">r1</span></a></span></span><span> </span><span id="local-6989586621681028467"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028467"><span class="hs-identifier hs-var">imm</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-285"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028467"><span class="hs-identifier hs-var">imm</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'('</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028468"><span class="hs-identifier hs-var">r1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">')'</span></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-286"></span><span>
</span><span id="line-287"></span><span>
</span><span id="line-288"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprSectionAlign"><span class="hs-identifier hs-type">pprSectionAlign</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Config.html#NCGConfig"><span class="hs-identifier hs-type">NCGConfig</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.html#Section"><span class="hs-identifier hs-type">Section</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-289"></span><span id="pprSectionAlign"><span class="annot"><span class="annottext">pprSectionAlign :: NCGConfig -&gt; Section -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprSectionAlign"><span class="hs-identifier hs-var hs-var">pprSectionAlign</span></a></span></span><span> </span><span id="local-6989586621681028466"><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028466"><span class="hs-identifier hs-var">config</span></a></span></span><span> </span><span id="local-6989586621681028465"><span class="annot"><span class="annottext">sec :: Section
</span><a href="#local-6989586621681028465"><span class="hs-identifier hs-var">sec</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.html#Section"><span class="hs-identifier hs-type">Section</span></a></span><span> </span><span id="local-6989586621681028464"><span class="annot"><span class="annottext">SectionType
</span><a href="#local-6989586621681028464"><span class="hs-identifier hs-var">seg</span></a></span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-290"></span><span>   </span><span class="annot"><span class="annottext">NCGConfig -&gt; Section -&gt; SDoc
</span><a href="GHC.CmmToAsm.Ppr.html#pprSectionHeader"><span class="hs-identifier hs-var">pprSectionHeader</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028466"><span class="hs-identifier hs-var">config</span></a></span><span> </span><span class="annot"><span class="annottext">Section
</span><a href="#local-6989586621681028465"><span class="hs-identifier hs-var">sec</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%24%24"><span class="hs-operator hs-var">$$</span></a></span><span>
</span><span id="line-291"></span><span>   </span><span class="annot"><span class="annottext">Platform -&gt; SectionType -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAlignForSection"><span class="hs-identifier hs-var">pprAlignForSection</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">NCGConfig -&gt; Platform
</span><a href="GHC.CmmToAsm.Config.html#ncgPlatform"><span class="hs-identifier hs-var hs-var">ncgPlatform</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621681028466"><span class="hs-identifier hs-var">config</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">SectionType
</span><a href="#local-6989586621681028464"><span class="hs-identifier hs-var">seg</span></a></span><span>
</span><span id="line-292"></span><span>
</span><span id="line-293"></span><span class="hs-comment">-- | Print appropriate alignment for the given section type.</span><span>
</span><span id="line-294"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAlignForSection"><span class="hs-identifier hs-type">pprAlignForSection</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.html#SectionType"><span class="hs-identifier hs-type">SectionType</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-295"></span><span id="pprAlignForSection"><span class="annot"><span class="annottext">pprAlignForSection :: Platform -&gt; SectionType -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAlignForSection"><span class="hs-identifier hs-var hs-var">pprAlignForSection</span></a></span></span><span> </span><span id="local-6989586621681028462"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028462"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621681028461"><span class="annot"><span class="annottext">SectionType
</span><a href="#local-6989586621681028461"><span class="hs-identifier hs-var">seg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-296"></span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621681028460"><span class="annot"><span class="annottext">ppc64 :: Bool
</span><a href="#local-6989586621681028460"><span class="hs-identifier hs-var hs-var">ppc64</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Bool) -&gt; Bool -&gt; Bool
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Bool
</span><a href="../../ghc-boot/src/GHC.Platform.html#target32Bit"><span class="hs-identifier hs-var">target32Bit</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028462"><span class="hs-identifier hs-var">platform</span></a></span><span>
</span><span id="line-297"></span><span> </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="annot"><span class="annottext">(PtrString -&gt; SDoc) -&gt; PtrString -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">SectionType
</span><a href="#local-6989586621681028461"><span class="hs-identifier hs-var">seg</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-298"></span><span>       </span><span class="annot"><span class="annottext">SectionType
</span><a href="GHC.Cmm.html#Text"><span class="hs-identifier hs-var">Text</span></a></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 2&quot;</span></span><span>
</span><span id="line-299"></span><span>       </span><span class="annot"><span class="annottext">SectionType
</span><a href="GHC.Cmm.html#Data"><span class="hs-identifier hs-var">Data</span></a></span><span>
</span><span id="line-300"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028460"><span class="hs-identifier hs-var">ppc64</span></a></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 3&quot;</span></span><span>
</span><span id="line-301"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 2&quot;</span></span><span>
</span><span id="line-302"></span><span>       </span><span class="annot"><span class="annottext">SectionType
</span><a href="GHC.Cmm.html#ReadOnlyData"><span class="hs-identifier hs-var">ReadOnlyData</span></a></span><span>
</span><span id="line-303"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028460"><span class="hs-identifier hs-var">ppc64</span></a></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 3&quot;</span></span><span>
</span><span id="line-304"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 2&quot;</span></span><span>
</span><span id="line-305"></span><span>       </span><span class="annot"><span class="annottext">SectionType
</span><a href="GHC.Cmm.html#RelocatableReadOnlyData"><span class="hs-identifier hs-var">RelocatableReadOnlyData</span></a></span><span>
</span><span id="line-306"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028460"><span class="hs-identifier hs-var">ppc64</span></a></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 3&quot;</span></span><span>
</span><span id="line-307"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 2&quot;</span></span><span>
</span><span id="line-308"></span><span>       </span><span class="annot"><span class="annottext">SectionType
</span><a href="GHC.Cmm.html#UninitialisedData"><span class="hs-identifier hs-var">UninitialisedData</span></a></span><span>
</span><span id="line-309"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028460"><span class="hs-identifier hs-var">ppc64</span></a></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 3&quot;</span></span><span>
</span><span id="line-310"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 2&quot;</span></span><span>
</span><span id="line-311"></span><span>       </span><span class="annot"><span class="annottext">SectionType
</span><a href="GHC.Cmm.html#ReadOnlyData16"><span class="hs-identifier hs-var">ReadOnlyData16</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 4&quot;</span></span><span>
</span><span id="line-312"></span><span>       </span><span class="hs-comment">-- TODO: This is copied from the ReadOnlyData case, but it can likely be</span><span>
</span><span id="line-313"></span><span>       </span><span class="hs-comment">-- made more efficient.</span><span>
</span><span id="line-314"></span><span>       </span><span class="annot"><span class="annottext">SectionType
</span><a href="GHC.Cmm.html#CString"><span class="hs-identifier hs-var">CString</span></a></span><span>
</span><span id="line-315"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028460"><span class="hs-identifier hs-var">ppc64</span></a></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 3&quot;</span></span><span>
</span><span id="line-316"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.align 2&quot;</span></span><span>
</span><span id="line-317"></span><span>       </span><span class="annot"><a href="GHC.Cmm.html#OtherSection"><span class="hs-identifier hs-type">OtherSection</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PprMach.pprSectionAlign: unknown section&quot;</span></span><span>
</span><span id="line-318"></span><span>
</span><span id="line-319"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprDataItem"><span class="hs-identifier hs-type">pprDataItem</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.Expr.html#CmmLit"><span class="hs-identifier hs-type">CmmLit</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-320"></span><span id="pprDataItem"><span class="annot"><span class="annottext">pprDataItem :: Platform -&gt; CmmLit -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprDataItem"><span class="hs-identifier hs-var hs-var">pprDataItem</span></a></span></span><span> </span><span id="local-6989586621681028451"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028451"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621681028450"><span class="annot"><span class="annottext">CmmLit
</span><a href="#local-6989586621681028450"><span class="hs-identifier hs-var">lit</span></a></span></span><span>
</span><span id="line-321"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Format -&gt; CmmLit -&gt; [SDoc]
</span><a href="#local-6989586621681028449"><span class="hs-identifier hs-var">ppr_item</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CmmType -&gt; Format
</span><a href="GHC.CmmToAsm.Format.html#cmmTypeFormat"><span class="hs-identifier hs-var">cmmTypeFormat</span></a></span><span> </span><span class="annot"><span class="annottext">(CmmType -&gt; Format) -&gt; CmmType -&gt; Format
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Platform -&gt; CmmLit -&gt; CmmType
</span><a href="GHC.Cmm.Expr.html#cmmLitType"><span class="hs-identifier hs-var">cmmLitType</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028451"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLit
</span><a href="#local-6989586621681028450"><span class="hs-identifier hs-var">lit</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CmmLit
</span><a href="#local-6989586621681028450"><span class="hs-identifier hs-var">lit</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-322"></span><span>    </span><span class="hs-keyword">where</span><span>
</span><span id="line-323"></span><span>        </span><span id="local-6989586621681028446"><span class="annot"><span class="annottext">imm :: Imm
</span><a href="#local-6989586621681028446"><span class="hs-identifier hs-var hs-var">imm</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CmmLit -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#litToImm"><span class="hs-identifier hs-var">litToImm</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLit
</span><a href="#local-6989586621681028450"><span class="hs-identifier hs-var">lit</span></a></span><span>
</span><span id="line-324"></span><span>        </span><span id="local-6989586621681028444"><span class="annot"><span class="annottext">archPPC_64 :: Bool
</span><a href="#local-6989586621681028444"><span class="hs-identifier hs-var hs-var">archPPC_64</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Bool) -&gt; Bool -&gt; Bool
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Bool
</span><a href="../../ghc-boot/src/GHC.Platform.html#target32Bit"><span class="hs-identifier hs-var">target32Bit</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028451"><span class="hs-identifier hs-var">platform</span></a></span><span>
</span><span id="line-325"></span><span>
</span><span id="line-326"></span><span>        </span><span id="local-6989586621681028449"><span class="annot"><span class="annottext">ppr_item :: Format -&gt; CmmLit -&gt; [SDoc]
</span><a href="#local-6989586621681028449"><span class="hs-identifier hs-var hs-var">ppr_item</span></a></span></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II8"><span class="hs-identifier hs-var">II8</span></a></span><span>  </span><span class="annot"><span class="annottext">CmmLit
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.byte\t&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028446"><span class="hs-identifier hs-var">imm</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-327"></span><span>        </span><span class="annot"><a href="#local-6989586621681028449"><span class="hs-identifier hs-var">ppr_item</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II16"><span class="hs-identifier hs-var">II16</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLit
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.short\t&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028446"><span class="hs-identifier hs-var">imm</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-328"></span><span>        </span><span class="annot"><a href="#local-6989586621681028449"><span class="hs-identifier hs-var">ppr_item</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLit
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.long\t&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028446"><span class="hs-identifier hs-var">imm</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-329"></span><span>        </span><span class="annot"><a href="#local-6989586621681028449"><span class="hs-identifier hs-var">ppr_item</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLit
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-330"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028444"><span class="hs-identifier hs-var">archPPC_64</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.quad\t&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028446"><span class="hs-identifier hs-var">imm</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-331"></span><span>
</span><span id="line-332"></span><span>        </span><span class="annot"><a href="#local-6989586621681028449"><span class="hs-identifier hs-var">ppr_item</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.Expr.html#CmmInt"><span class="hs-identifier hs-type">CmmInt</span></a></span><span> </span><span id="local-6989586621681028430"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028430"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="annot"><span class="annottext">Width
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>
</span><span id="line-333"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028444"><span class="hs-identifier hs-var">archPPC_64</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-334"></span><span>                </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.long\t&quot;</span></span><span>
</span><span id="line-335"></span><span>                    </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word32 -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span>
</span><span id="line-336"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Word32
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028430"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Int -&gt; Integer
forall a. Bits a =&gt; a -&gt; Int -&gt; a
</span><a href="../../base/src/Data.Bits.html#shiftR"><span class="hs-operator hs-var">`shiftR`</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">32</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Word.html#Word32"><span class="hs-identifier hs-type">Word32</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-337"></span><span>                 </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.long\t&quot;</span></span><span>
</span><span id="line-338"></span><span>                    </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word32 -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Word32
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621681028430"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Word.html#Word32"><span class="hs-identifier hs-type">Word32</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-339"></span><span>
</span><span id="line-340"></span><span>
</span><span id="line-341"></span><span>        </span><span class="annot"><a href="#local-6989586621681028449"><span class="hs-identifier hs-var">ppr_item</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#FF32"><span class="hs-identifier hs-var">FF32</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.Expr.html#CmmFloat"><span class="hs-identifier hs-type">CmmFloat</span></a></span><span> </span><span id="local-6989586621681028428"><span class="annot"><span class="annottext">Rational
</span><a href="#local-6989586621681028428"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="annot"><span class="annottext">Width
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>
</span><span id="line-342"></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621681028425"><span class="annot"><span class="annottext">bs :: [Int]
</span><a href="#local-6989586621681028425"><span class="hs-identifier hs-var hs-var">bs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Float -&gt; [Int]
</span><a href="GHC.CmmToAsm.Ppr.html#floatToBytes"><span class="hs-identifier hs-var">floatToBytes</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Rational -&gt; Float
forall a. Fractional a =&gt; Rational -&gt; a
</span><a href="../../base/src/GHC.Real.html#fromRational"><span class="hs-identifier hs-var">fromRational</span></a></span><span> </span><span class="annot"><span class="annottext">Rational
</span><a href="#local-6989586621681028428"><span class="hs-identifier hs-var">r</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-343"></span><span>             </span><span class="hs-keyword">in</span><span>  </span><span class="annot"><span class="annottext">(Int -&gt; SDoc) -&gt; [Int] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621681028423"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028423"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.byte\t&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-var">ImmInt</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028423"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621681028425"><span class="hs-identifier hs-var">bs</span></a></span><span>
</span><span id="line-344"></span><span>
</span><span id="line-345"></span><span>        </span><span class="annot"><a href="#local-6989586621681028449"><span class="hs-identifier hs-var">ppr_item</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#FF64"><span class="hs-identifier hs-var">FF64</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.Expr.html#CmmFloat"><span class="hs-identifier hs-type">CmmFloat</span></a></span><span> </span><span id="local-6989586621681028422"><span class="annot"><span class="annottext">Rational
</span><a href="#local-6989586621681028422"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="annot"><span class="annottext">Width
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>
</span><span id="line-346"></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621681028419"><span class="annot"><span class="annottext">bs :: [Int]
</span><a href="#local-6989586621681028419"><span class="hs-identifier hs-var hs-var">bs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Double -&gt; [Int]
</span><a href="GHC.CmmToAsm.Ppr.html#doubleToBytes"><span class="hs-identifier hs-var">doubleToBytes</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Rational -&gt; Double
forall a. Fractional a =&gt; Rational -&gt; a
</span><a href="../../base/src/GHC.Real.html#fromRational"><span class="hs-identifier hs-var">fromRational</span></a></span><span> </span><span class="annot"><span class="annottext">Rational
</span><a href="#local-6989586621681028422"><span class="hs-identifier hs-var">r</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-347"></span><span>             </span><span class="hs-keyword">in</span><span>  </span><span class="annot"><span class="annottext">(Int -&gt; SDoc) -&gt; [Int] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621681028417"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028417"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.byte\t&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-var">ImmInt</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028417"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621681028419"><span class="hs-identifier hs-var">bs</span></a></span><span>
</span><span id="line-348"></span><span>
</span><span id="line-349"></span><span>        </span><span class="annot"><a href="#local-6989586621681028449"><span class="hs-identifier hs-var">ppr_item</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLit
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-350"></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; [SDoc]
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr.pprDataItem: no match&quot;</span></span><span>
</span><span id="line-351"></span><span>
</span><span id="line-352"></span><span>
</span><span id="line-353"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-type">pprInstr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#Instr"><span class="hs-identifier hs-type">Instr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-354"></span><span id="pprInstr"><span class="annot"><span class="annottext">pprInstr :: Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var hs-var">pprInstr</span></a></span></span><span> </span><span id="local-6989586621681028416"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621681028415"><span class="annot"><span class="annottext">Instr
</span><a href="#local-6989586621681028415"><span class="hs-identifier hs-var">instr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Instr
</span><a href="#local-6989586621681028415"><span class="hs-identifier hs-var">instr</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-355"></span><span>
</span><span id="line-356"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#COMMENT"><span class="hs-identifier hs-type">COMMENT</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-357"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span> </span><span class="hs-comment">-- nuke 'em</span><span>
</span><span id="line-358"></span><span>
</span><span id="line-359"></span><span>   </span><span class="hs-comment">-- COMMENT s</span><span>
</span><span id="line-360"></span><span>   </span><span class="hs-comment">--    -&gt; if platformOS platform == OSLinux</span><span>
</span><span id="line-361"></span><span>   </span><span class="hs-comment">--          then text &quot;# &quot; &lt;&gt; ftext s</span><span>
</span><span id="line-362"></span><span>   </span><span class="hs-comment">--          else text &quot;; &quot; &lt;&gt; ftext s</span><span>
</span><span id="line-363"></span><span>
</span><span id="line-364"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#LOCATION"><span class="hs-identifier hs-type">LOCATION</span></a></span><span> </span><span id="local-6989586621681028412"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028412"><span class="hs-identifier hs-var">file</span></a></span></span><span> </span><span id="local-6989586621681028411"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028411"><span class="hs-identifier hs-var">line</span></a></span></span><span> </span><span id="local-6989586621681028410"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028410"><span class="hs-identifier hs-var">col</span></a></span></span><span> </span><span id="local-6989586621681028409"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621681028409"><span class="hs-identifier hs-var">_name</span></a></span></span><span>
</span><span id="line-365"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t.loc&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028412"><span class="hs-identifier hs-var">file</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028411"><span class="hs-identifier hs-var">line</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028410"><span class="hs-identifier hs-var">col</span></a></span><span>
</span><span id="line-366"></span><span>
</span><span id="line-367"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#DELTA"><span class="hs-identifier hs-type">DELTA</span></a></span><span> </span><span id="local-6989586621681028407"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028407"><span class="hs-identifier hs-var">d</span></a></span></span><span>
</span><span id="line-368"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var">pprInstr</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">FastString -&gt; Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#COMMENT"><span class="hs-identifier hs-var">COMMENT</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#mkFastString"><span class="hs-identifier hs-var">mkFastString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tdelta = &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028407"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-369"></span><span>
</span><span id="line-370"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#NEWBLOCK"><span class="hs-identifier hs-type">NEWBLOCK</span></a></span><span> </span><span class="annot"><span class="annottext">BlockId
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-371"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PprMach.pprInstr: NEWBLOCK&quot;</span></span><span>
</span><span id="line-372"></span><span>
</span><span id="line-373"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#LDATA"><span class="hs-identifier hs-type">LDATA</span></a></span><span> </span><span class="annot"><span class="annottext">Section
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">RawCmmStatics
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-374"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PprMach.pprInstr: LDATA&quot;</span></span><span>
</span><span id="line-375"></span><span>
</span><span id="line-376"></span><span class="hs-comment">{-
   SPILL reg slot
      -&gt; hcat [
              text &quot;\tSPILL&quot;,
           char '\t',
           pprReg reg,
           comma,
           text &quot;SLOT&quot; &lt;&gt; parens (int slot)]

   RELOAD slot reg
      -&gt; hcat [
              text &quot;\tRELOAD&quot;,
           char '\t',
           text &quot;SLOT&quot; &lt;&gt; parens (int slot),
           comma,
           pprReg reg]
-}</span><span>
</span><span id="line-393"></span><span>
</span><span id="line-394"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#LD"><span class="hs-identifier hs-type">LD</span></a></span><span> </span><span id="local-6989586621681028401"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028401"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028400"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028400"><span class="hs-identifier hs-var">reg</span></a></span></span><span> </span><span id="local-6989586621681028399"><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028399"><span class="hs-identifier hs-var">addr</span></a></span></span><span>
</span><span id="line-395"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-396"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-397"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;l&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-398"></span><span>           </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028401"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-399"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II8"><span class="hs-identifier hs-var">II8</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;bz&quot;</span></span><span>
</span><span id="line-400"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II16"><span class="hs-identifier hs-var">II16</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hz&quot;</span></span><span>
</span><span id="line-401"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;wz&quot;</span></span><span>
</span><span id="line-402"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;d&quot;</span></span><span>
</span><span id="line-403"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#FF32"><span class="hs-identifier hs-var">FF32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fs&quot;</span></span><span>
</span><span id="line-404"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#FF64"><span class="hs-identifier hs-var">FF64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fd&quot;</span></span><span>
</span><span id="line-405"></span><span>               </span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-406"></span><span>           </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028399"><span class="hs-identifier hs-var">addr</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-type">AddrRegImm</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Imm
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-407"></span><span>                        </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegReg"><span class="hs-identifier hs-type">AddrRegReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'x'</span></span><span class="hs-special">,</span><span>
</span><span id="line-408"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-409"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028400"><span class="hs-identifier hs-var">reg</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-410"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-411"></span><span>           </span><span class="annot"><span class="annottext">AddrMode -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-var">pprAddr</span></a></span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028399"><span class="hs-identifier hs-var">addr</span></a></span><span>
</span><span id="line-412"></span><span>       </span><span class="hs-special">]</span><span>
</span><span id="line-413"></span><span>
</span><span id="line-414"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#LDFAR"><span class="hs-identifier hs-type">LDFAR</span></a></span><span> </span><span id="local-6989586621681028397"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028397"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028396"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028396"><span class="hs-identifier hs-var">reg</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-type">AddrRegImm</span></a></span><span> </span><span id="local-6989586621681028395"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028395"><span class="hs-identifier hs-var">source</span></a></span></span><span> </span><span id="local-6989586621681028394"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028394"><span class="hs-identifier hs-var">off</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-415"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span>
</span><span id="line-416"></span><span>            </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var">pprInstr</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; Reg -&gt; Imm -&gt; Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#ADDIS"><span class="hs-identifier hs-var">ADDIS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; Reg
</span><a href="GHC.CmmToAsm.PPC.Regs.html#tmpReg"><span class="hs-identifier hs-var">tmpReg</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028395"><span class="hs-identifier hs-var">source</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Imm -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#HA"><span class="hs-identifier hs-var">HA</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028394"><span class="hs-identifier hs-var">off</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-417"></span><span>            </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var">pprInstr</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Format -&gt; Reg -&gt; AddrMode -&gt; Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#LD"><span class="hs-identifier hs-var">LD</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028397"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028396"><span class="hs-identifier hs-var">reg</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; Imm -&gt; AddrMode
</span><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-var">AddrRegImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; Reg
</span><a href="GHC.CmmToAsm.PPC.Regs.html#tmpReg"><span class="hs-identifier hs-var">tmpReg</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Imm -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#LO"><span class="hs-identifier hs-var">LO</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028394"><span class="hs-identifier hs-var">off</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-418"></span><span>            </span><span class="hs-special">]</span><span>
</span><span id="line-419"></span><span>
</span><span id="line-420"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#LDFAR"><span class="hs-identifier hs-type">LDFAR</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-421"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr.pprInstr LDFAR: no match&quot;</span></span><span>
</span><span id="line-422"></span><span>
</span><span id="line-423"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#LDR"><span class="hs-identifier hs-type">LDR</span></a></span><span> </span><span id="local-6989586621681028390"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028390"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028389"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028389"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028388"><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028388"><span class="hs-identifier hs-var">addr</span></a></span></span><span>
</span><span id="line-424"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-425"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tl&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-426"></span><span>           </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028390"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-427"></span><span>             </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'w'</span></span><span>
</span><span id="line-428"></span><span>             </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'d'</span></span><span>
</span><span id="line-429"></span><span>             </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr.Instr LDR: no match&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-430"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;arx\t&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-431"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028389"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-432"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-433"></span><span>           </span><span class="annot"><span class="annottext">AddrMode -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-var">pprAddr</span></a></span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028388"><span class="hs-identifier hs-var">addr</span></a></span><span>
</span><span id="line-434"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-435"></span><span>
</span><span id="line-436"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#LA"><span class="hs-identifier hs-type">LA</span></a></span><span> </span><span id="local-6989586621681028386"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028386"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028385"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028385"><span class="hs-identifier hs-var">reg</span></a></span></span><span> </span><span id="local-6989586621681028384"><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028384"><span class="hs-identifier hs-var">addr</span></a></span></span><span>
</span><span id="line-437"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-438"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-439"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;l&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-440"></span><span>           </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028386"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-441"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II8"><span class="hs-identifier hs-var">II8</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ba&quot;</span></span><span>
</span><span id="line-442"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II16"><span class="hs-identifier hs-var">II16</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ha&quot;</span></span><span>
</span><span id="line-443"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;wa&quot;</span></span><span>
</span><span id="line-444"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;d&quot;</span></span><span>
</span><span id="line-445"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#FF32"><span class="hs-identifier hs-var">FF32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fs&quot;</span></span><span>
</span><span id="line-446"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#FF64"><span class="hs-identifier hs-var">FF64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fd&quot;</span></span><span>
</span><span id="line-447"></span><span>               </span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-448"></span><span>           </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028384"><span class="hs-identifier hs-var">addr</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-type">AddrRegImm</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Imm
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-449"></span><span>                        </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegReg"><span class="hs-identifier hs-type">AddrRegReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'x'</span></span><span class="hs-special">,</span><span>
</span><span id="line-450"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-451"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028385"><span class="hs-identifier hs-var">reg</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-452"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-453"></span><span>           </span><span class="annot"><span class="annottext">AddrMode -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-var">pprAddr</span></a></span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028384"><span class="hs-identifier hs-var">addr</span></a></span><span>
</span><span id="line-454"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-455"></span><span>
</span><span id="line-456"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#ST"><span class="hs-identifier hs-type">ST</span></a></span><span> </span><span id="local-6989586621681028382"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028382"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028381"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028381"><span class="hs-identifier hs-var">reg</span></a></span></span><span> </span><span id="local-6989586621681028380"><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028380"><span class="hs-identifier hs-var">addr</span></a></span></span><span>
</span><span id="line-457"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-458"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-459"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;st&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-460"></span><span>           </span><span class="annot"><span class="annottext">Format -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFormat"><span class="hs-identifier hs-var">pprFormat</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028382"><span class="hs-identifier hs-var">fmt</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-461"></span><span>           </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028380"><span class="hs-identifier hs-var">addr</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-type">AddrRegImm</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Imm
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-462"></span><span>                        </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegReg"><span class="hs-identifier hs-type">AddrRegReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'x'</span></span><span class="hs-special">,</span><span>
</span><span id="line-463"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-464"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028381"><span class="hs-identifier hs-var">reg</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-465"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-466"></span><span>           </span><span class="annot"><span class="annottext">AddrMode -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-var">pprAddr</span></a></span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028380"><span class="hs-identifier hs-var">addr</span></a></span><span>
</span><span id="line-467"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-468"></span><span>
</span><span id="line-469"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#STFAR"><span class="hs-identifier hs-type">STFAR</span></a></span><span> </span><span id="local-6989586621681028378"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028378"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028377"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028377"><span class="hs-identifier hs-var">reg</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-type">AddrRegImm</span></a></span><span> </span><span id="local-6989586621681028376"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028376"><span class="hs-identifier hs-var">source</span></a></span></span><span> </span><span id="local-6989586621681028375"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028375"><span class="hs-identifier hs-var">off</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-470"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var">pprInstr</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; Reg -&gt; Imm -&gt; Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#ADDIS"><span class="hs-identifier hs-var">ADDIS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; Reg
</span><a href="GHC.CmmToAsm.PPC.Regs.html#tmpReg"><span class="hs-identifier hs-var">tmpReg</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028376"><span class="hs-identifier hs-var">source</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Imm -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#HA"><span class="hs-identifier hs-var">HA</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028375"><span class="hs-identifier hs-var">off</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-471"></span><span>              </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var">pprInstr</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Format -&gt; Reg -&gt; AddrMode -&gt; Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#ST"><span class="hs-identifier hs-var">ST</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028378"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028377"><span class="hs-identifier hs-var">reg</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; Imm -&gt; AddrMode
</span><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-var">AddrRegImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; Reg
</span><a href="GHC.CmmToAsm.PPC.Regs.html#tmpReg"><span class="hs-identifier hs-var">tmpReg</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Imm -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#LO"><span class="hs-identifier hs-var">LO</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028375"><span class="hs-identifier hs-var">off</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-472"></span><span>              </span><span class="hs-special">]</span><span>
</span><span id="line-473"></span><span>
</span><span id="line-474"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#STFAR"><span class="hs-identifier hs-type">STFAR</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-475"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr.pprInstr STFAR: no match&quot;</span></span><span>
</span><span id="line-476"></span><span>
</span><span id="line-477"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#STU"><span class="hs-identifier hs-type">STU</span></a></span><span> </span><span id="local-6989586621681028373"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028373"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028372"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028372"><span class="hs-identifier hs-var">reg</span></a></span></span><span> </span><span id="local-6989586621681028371"><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028371"><span class="hs-identifier hs-var">addr</span></a></span></span><span>
</span><span id="line-478"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-479"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-480"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;st&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-481"></span><span>           </span><span class="annot"><span class="annottext">Format -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFormat"><span class="hs-identifier hs-var">pprFormat</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028373"><span class="hs-identifier hs-var">fmt</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-482"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'u'</span></span><span class="hs-special">,</span><span>
</span><span id="line-483"></span><span>           </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028371"><span class="hs-identifier hs-var">addr</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegImm"><span class="hs-identifier hs-type">AddrRegImm</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Imm
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-484"></span><span>                        </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#AddrRegReg"><span class="hs-identifier hs-type">AddrRegReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'x'</span></span><span class="hs-special">,</span><span>
</span><span id="line-485"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-486"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028372"><span class="hs-identifier hs-var">reg</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-487"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-488"></span><span>           </span><span class="annot"><span class="annottext">AddrMode -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-var">pprAddr</span></a></span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028371"><span class="hs-identifier hs-var">addr</span></a></span><span>
</span><span id="line-489"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-490"></span><span>
</span><span id="line-491"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#STC"><span class="hs-identifier hs-type">STC</span></a></span><span> </span><span id="local-6989586621681028369"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028369"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028368"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028368"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028367"><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028367"><span class="hs-identifier hs-var">addr</span></a></span></span><span>
</span><span id="line-492"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-493"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tst&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-494"></span><span>           </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028369"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-495"></span><span>             </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'w'</span></span><span>
</span><span id="line-496"></span><span>             </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'d'</span></span><span>
</span><span id="line-497"></span><span>             </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr.Instr STC: no match&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-498"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cx.\t&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-499"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028368"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-500"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-501"></span><span>           </span><span class="annot"><span class="annottext">AddrMode -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprAddr"><span class="hs-identifier hs-var">pprAddr</span></a></span><span> </span><span class="annot"><span class="annottext">AddrMode
</span><a href="#local-6989586621681028367"><span class="hs-identifier hs-var">addr</span></a></span><span>
</span><span id="line-502"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-503"></span><span>
</span><span id="line-504"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#LIS"><span class="hs-identifier hs-type">LIS</span></a></span><span> </span><span id="local-6989586621681028365"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028365"><span class="hs-identifier hs-var">reg</span></a></span></span><span> </span><span id="local-6989586621681028364"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028364"><span class="hs-identifier hs-var">imm</span></a></span></span><span>
</span><span id="line-505"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-506"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-507"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lis&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-508"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-509"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028365"><span class="hs-identifier hs-var">reg</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-510"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-511"></span><span>           </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028364"><span class="hs-identifier hs-var">imm</span></a></span><span>
</span><span id="line-512"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-513"></span><span>
</span><span id="line-514"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#LI"><span class="hs-identifier hs-type">LI</span></a></span><span> </span><span id="local-6989586621681028362"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028362"><span class="hs-identifier hs-var">reg</span></a></span></span><span> </span><span id="local-6989586621681028361"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028361"><span class="hs-identifier hs-var">imm</span></a></span></span><span>
</span><span id="line-515"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-516"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-517"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;li&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-518"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-519"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028362"><span class="hs-identifier hs-var">reg</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-520"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-521"></span><span>           </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028361"><span class="hs-identifier hs-var">imm</span></a></span><span>
</span><span id="line-522"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-523"></span><span>
</span><span id="line-524"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#MR"><span class="hs-identifier hs-type">MR</span></a></span><span> </span><span id="local-6989586621681028359"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028359"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028358"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028358"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-525"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028359"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg -&gt; Reg -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028358"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-526"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-527"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-528"></span><span>        </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Reg -&gt; RegClass
</span><a href="GHC.CmmToAsm.Reg.Target.html#targetClassOfReg"><span class="hs-identifier hs-var">targetClassOfReg</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028359"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-529"></span><span>            </span><span class="annot"><span class="annottext">RegClass
</span><a href="GHC.Platform.Reg.Class.html#RcInteger"><span class="hs-identifier hs-var">RcInteger</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;mr&quot;</span></span><span>
</span><span id="line-530"></span><span>            </span><span class="annot"><span class="annottext">RegClass
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmr&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-531"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-532"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028359"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-533"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-534"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028358"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-535"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-536"></span><span>
</span><span id="line-537"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#CMP"><span class="hs-identifier hs-type">CMP</span></a></span><span> </span><span id="local-6989586621681028354"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028354"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028353"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028353"><span class="hs-identifier hs-var">reg</span></a></span></span><span> </span><span id="local-6989586621681028352"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028352"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-538"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-539"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-540"></span><span>           </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621681028351"><span class="hs-identifier hs-var">op</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-541"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-542"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028353"><span class="hs-identifier hs-var">reg</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-543"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-544"></span><span>           </span><span class="annot"><span class="annottext">RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprRI"><span class="hs-identifier hs-var">pprRI</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028352"><span class="hs-identifier hs-var">ri</span></a></span><span>
</span><span id="line-545"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-546"></span><span>         </span><span class="hs-keyword">where</span><span>
</span><span id="line-547"></span><span>           </span><span id="local-6989586621681028351"><span class="annot"><span class="annottext">op :: SDoc
</span><a href="#local-6989586621681028351"><span class="hs-identifier hs-var hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-548"></span><span>                   </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cmp&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-549"></span><span>                   </span><span class="annot"><span class="annottext">Format -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFormat"><span class="hs-identifier hs-var">pprFormat</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028354"><span class="hs-identifier hs-var">fmt</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-550"></span><span>                   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028352"><span class="hs-identifier hs-var">ri</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-551"></span><span>                       </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-type">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-552"></span><span>                       </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'i'</span></span><span>
</span><span id="line-553"></span><span>               </span><span class="hs-special">]</span><span>
</span><span id="line-554"></span><span>
</span><span id="line-555"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#CMPL"><span class="hs-identifier hs-type">CMPL</span></a></span><span> </span><span id="local-6989586621681028346"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028346"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028345"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028345"><span class="hs-identifier hs-var">reg</span></a></span></span><span> </span><span id="local-6989586621681028344"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028344"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-556"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-557"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-558"></span><span>           </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621681028343"><span class="hs-identifier hs-var">op</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-559"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-560"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028345"><span class="hs-identifier hs-var">reg</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-561"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-562"></span><span>           </span><span class="annot"><span class="annottext">RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprRI"><span class="hs-identifier hs-var">pprRI</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028344"><span class="hs-identifier hs-var">ri</span></a></span><span>
</span><span id="line-563"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-564"></span><span>          </span><span class="hs-keyword">where</span><span>
</span><span id="line-565"></span><span>              </span><span id="local-6989586621681028343"><span class="annot"><span class="annottext">op :: SDoc
</span><a href="#local-6989586621681028343"><span class="hs-identifier hs-var hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-566"></span><span>                      </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cmpl&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-567"></span><span>                      </span><span class="annot"><span class="annottext">Format -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFormat"><span class="hs-identifier hs-var">pprFormat</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028346"><span class="hs-identifier hs-var">fmt</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-568"></span><span>                      </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028344"><span class="hs-identifier hs-var">ri</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-569"></span><span>                          </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-type">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-570"></span><span>                          </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'i'</span></span><span>
</span><span id="line-571"></span><span>                  </span><span class="hs-special">]</span><span>
</span><span id="line-572"></span><span>
</span><span id="line-573"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#BCC"><span class="hs-identifier hs-type">BCC</span></a></span><span> </span><span id="local-6989586621681028341"><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621681028341"><span class="hs-identifier hs-var">cond</span></a></span></span><span> </span><span id="local-6989586621681028340"><span class="annot"><span class="annottext">BlockId
</span><a href="#local-6989586621681028340"><span class="hs-identifier hs-var">blockid</span></a></span></span><span> </span><span id="local-6989586621681028339"><span class="annot"><span class="annottext">Maybe Bool
</span><a href="#local-6989586621681028339"><span class="hs-identifier hs-var">prediction</span></a></span></span><span>
</span><span id="line-574"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-575"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-576"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;b&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-577"></span><span>           </span><span class="annot"><span class="annottext">Cond -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprCond"><span class="hs-identifier hs-var">pprCond</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621681028341"><span class="hs-identifier hs-var">cond</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-578"></span><span>           </span><span class="annot"><span class="annottext">Maybe Bool -&gt; SDoc
</span><a href="#local-6989586621681028338"><span class="hs-identifier hs-var">pprPrediction</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe Bool
</span><a href="#local-6989586621681028339"><span class="hs-identifier hs-var">prediction</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-579"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-580"></span><span>           </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028337"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-581"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-582"></span><span>         </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621681028337"><span class="annot"><span class="annottext">lbl :: CLabel
</span><a href="#local-6989586621681028337"><span class="hs-identifier hs-var hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkLocalBlockLabel"><span class="hs-identifier hs-var">mkLocalBlockLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BlockId -&gt; Unique
forall a. Uniquable a =&gt; a -&gt; Unique
</span><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier hs-var">getUnique</span></a></span><span> </span><span class="annot"><span class="annottext">BlockId
</span><a href="#local-6989586621681028340"><span class="hs-identifier hs-var">blockid</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-583"></span><span>               </span><span id="local-6989586621681028338"><span class="annot"><span class="annottext">pprPrediction :: Maybe Bool -&gt; SDoc
</span><a href="#local-6989586621681028338"><span class="hs-identifier hs-var hs-var">pprPrediction</span></a></span></span><span> </span><span id="local-6989586621681028333"><span class="annot"><span class="annottext">Maybe Bool
</span><a href="#local-6989586621681028333"><span class="hs-identifier hs-var">p</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Maybe Bool
</span><a href="#local-6989586621681028333"><span class="hs-identifier hs-var">p</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-584"></span><span>                 </span><span class="annot"><span class="annottext">Maybe Bool
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-585"></span><span>                 </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'+'</span></span><span>
</span><span id="line-586"></span><span>                 </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'-'</span></span><span>
</span><span id="line-587"></span><span>
</span><span id="line-588"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#BCCFAR"><span class="hs-identifier hs-type">BCCFAR</span></a></span><span> </span><span id="local-6989586621681028331"><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621681028331"><span class="hs-identifier hs-var">cond</span></a></span></span><span> </span><span id="local-6989586621681028330"><span class="annot"><span class="annottext">BlockId
</span><a href="#local-6989586621681028330"><span class="hs-identifier hs-var">blockid</span></a></span></span><span> </span><span id="local-6989586621681028329"><span class="annot"><span class="annottext">Maybe Bool
</span><a href="#local-6989586621681028329"><span class="hs-identifier hs-var">prediction</span></a></span></span><span>
</span><span id="line-589"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-590"></span><span>           </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-591"></span><span>               </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tb&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-592"></span><span>               </span><span class="annot"><span class="annottext">Cond -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprCond"><span class="hs-identifier hs-var">pprCond</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Cond -&gt; Cond
</span><a href="GHC.CmmToAsm.PPC.Cond.html#condNegate"><span class="hs-identifier hs-var">condNegate</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621681028331"><span class="hs-identifier hs-var">cond</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-593"></span><span>               </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621681028327"><span class="hs-identifier hs-var">neg_prediction</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-594"></span><span>               </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\t$+8&quot;</span></span><span>
</span><span id="line-595"></span><span>           </span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-596"></span><span>           </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-597"></span><span>               </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tb\t&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-598"></span><span>               </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028326"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-599"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-600"></span><span>          </span><span class="hs-special">]</span><span>
</span><span id="line-601"></span><span>          </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621681028326"><span class="annot"><span class="annottext">lbl :: CLabel
</span><a href="#local-6989586621681028326"><span class="hs-identifier hs-var hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkLocalBlockLabel"><span class="hs-identifier hs-var">mkLocalBlockLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BlockId -&gt; Unique
forall a. Uniquable a =&gt; a -&gt; Unique
</span><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier hs-var">getUnique</span></a></span><span> </span><span class="annot"><span class="annottext">BlockId
</span><a href="#local-6989586621681028330"><span class="hs-identifier hs-var">blockid</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-602"></span><span>                </span><span id="local-6989586621681028327"><span class="annot"><span class="annottext">neg_prediction :: SDoc
</span><a href="#local-6989586621681028327"><span class="hs-identifier hs-var hs-var">neg_prediction</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Maybe Bool
</span><a href="#local-6989586621681028329"><span class="hs-identifier hs-var">prediction</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-603"></span><span>                  </span><span class="annot"><span class="annottext">Maybe Bool
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-604"></span><span>                  </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'-'</span></span><span>
</span><span id="line-605"></span><span>                  </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'+'</span></span><span>
</span><span id="line-606"></span><span>
</span><span id="line-607"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#JMP"><span class="hs-identifier hs-type">JMP</span></a></span><span> </span><span id="local-6989586621681028323"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028323"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="annot"><span class="annottext">[Reg]
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-608"></span><span>     </span><span class="hs-comment">-- We never jump to ForeignLabels; if we ever do, c.f. handling for &quot;BL&quot;</span><span>
</span><span id="line-609"></span><span>     </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isForeignLabel"><span class="hs-identifier hs-var">isForeignLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028323"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr.pprInstr: JMP to ForeignLabel&quot;</span></span><span>
</span><span id="line-610"></span><span>     </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-611"></span><span>       </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-comment">-- an alias for b that takes a CLabel</span><span>
</span><span id="line-612"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-613"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;b&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-614"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-615"></span><span>           </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028323"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-616"></span><span>       </span><span class="hs-special">]</span><span>
</span><span id="line-617"></span><span>
</span><span id="line-618"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#MTCTR"><span class="hs-identifier hs-type">MTCTR</span></a></span><span> </span><span id="local-6989586621681028320"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028320"><span class="hs-identifier hs-var">reg</span></a></span></span><span>
</span><span id="line-619"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-620"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-621"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;mtctr&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-622"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-623"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028320"><span class="hs-identifier hs-var">reg</span></a></span><span>
</span><span id="line-624"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-625"></span><span>
</span><span id="line-626"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#BCTR"><span class="hs-identifier hs-type">BCTR</span></a></span><span> </span><span class="annot"><span class="annottext">[Maybe BlockId]
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Maybe CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">[Reg]
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-627"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-628"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-629"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;bctr&quot;</span></span><span>
</span><span id="line-630"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-631"></span><span>
</span><span id="line-632"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#BL"><span class="hs-identifier hs-type">BL</span></a></span><span> </span><span id="local-6989586621681028317"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028317"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="annot"><span class="annottext">[Reg]
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-633"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformOS"><span class="hs-identifier hs-var">platformOS</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-634"></span><span>           </span><span class="annot"><span class="annottext">OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#OSAIX"><span class="hs-identifier hs-var">OSAIX</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-635"></span><span>             </span><span class="hs-comment">-- On AIX, &quot;printf&quot; denotes a function-descriptor (for use</span><span>
</span><span id="line-636"></span><span>             </span><span class="hs-comment">-- by function pointers), whereas the actual entry-code</span><span>
</span><span id="line-637"></span><span>             </span><span class="hs-comment">-- address is denoted by the dot-prefixed &quot;.printf&quot; label.</span><span>
</span><span id="line-638"></span><span>             </span><span class="hs-comment">-- Moreover, the PPC NCG only ever emits a BL instruction</span><span>
</span><span id="line-639"></span><span>             </span><span class="hs-comment">-- for calling C ABI functions. Most of the time these calls</span><span>
</span><span id="line-640"></span><span>             </span><span class="hs-comment">-- originate from FFI imports and have a 'ForeignLabel',</span><span>
</span><span id="line-641"></span><span>             </span><span class="hs-comment">-- but when profiling the codegen inserts calls via</span><span>
</span><span id="line-642"></span><span>             </span><span class="hs-comment">-- 'emitRtsCallGen' which are 'CmmLabel's even though</span><span>
</span><span id="line-643"></span><span>             </span><span class="hs-comment">-- they'd technically be more like 'ForeignLabel's.</span><span>
</span><span id="line-644"></span><span>             </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-645"></span><span>               </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tbl\t.&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-646"></span><span>               </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028317"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-647"></span><span>             </span><span class="hs-special">]</span><span>
</span><span id="line-648"></span><span>           </span><span class="annot"><span class="annottext">OS
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-649"></span><span>             </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-650"></span><span>               </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tbl\t&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-651"></span><span>               </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621681028317"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-652"></span><span>             </span><span class="hs-special">]</span><span>
</span><span id="line-653"></span><span>
</span><span id="line-654"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#BCTRL"><span class="hs-identifier hs-type">BCTRL</span></a></span><span> </span><span class="annot"><span class="annottext">[Reg]
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-655"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-656"></span><span>             </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-657"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;bctrl&quot;</span></span><span>
</span><span id="line-658"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-659"></span><span>
</span><span id="line-660"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#ADD"><span class="hs-identifier hs-type">ADD</span></a></span><span> </span><span id="local-6989586621681028313"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028313"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028312"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028312"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028311"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028311"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-661"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;add&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028313"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028312"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028311"><span class="hs-identifier hs-var">ri</span></a></span><span>
</span><span id="line-662"></span><span>
</span><span id="line-663"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#ADDIS"><span class="hs-identifier hs-type">ADDIS</span></a></span><span> </span><span id="local-6989586621681028309"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028309"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028308"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028308"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028307"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028307"><span class="hs-identifier hs-var">imm</span></a></span></span><span>
</span><span id="line-664"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-665"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-666"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;addis&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-667"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-668"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028309"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-669"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-670"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028308"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-671"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-672"></span><span>           </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028307"><span class="hs-identifier hs-var">imm</span></a></span><span>
</span><span id="line-673"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-674"></span><span>
</span><span id="line-675"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#ADDO"><span class="hs-identifier hs-type">ADDO</span></a></span><span> </span><span id="local-6989586621681028305"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028305"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028304"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028304"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028303"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028303"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-676"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;addo&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028305"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028304"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-var">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028303"><span class="hs-identifier hs-var">reg3</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-677"></span><span>
</span><span id="line-678"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#ADDC"><span class="hs-identifier hs-type">ADDC</span></a></span><span> </span><span id="local-6989586621681028301"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028301"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028300"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028300"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028299"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028299"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-679"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;addc&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028301"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028300"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-var">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028299"><span class="hs-identifier hs-var">reg3</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-680"></span><span>
</span><span id="line-681"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#ADDE"><span class="hs-identifier hs-type">ADDE</span></a></span><span> </span><span id="local-6989586621681028297"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028297"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028296"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028296"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028295"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028295"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-682"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;adde&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028297"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028296"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-var">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028295"><span class="hs-identifier hs-var">reg3</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-683"></span><span>
</span><span id="line-684"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#ADDZE"><span class="hs-identifier hs-type">ADDZE</span></a></span><span> </span><span id="local-6989586621681028293"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028293"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028292"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028292"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-685"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-var">pprUnary</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;addze&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028293"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028292"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-686"></span><span>
</span><span id="line-687"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#SUBF"><span class="hs-identifier hs-type">SUBF</span></a></span><span> </span><span id="local-6989586621681028289"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028289"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028288"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028288"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028287"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028287"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-688"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;subf&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028289"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028288"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-var">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028287"><span class="hs-identifier hs-var">reg3</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-689"></span><span>
</span><span id="line-690"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#SUBFO"><span class="hs-identifier hs-type">SUBFO</span></a></span><span> </span><span id="local-6989586621681028285"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028285"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028284"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028284"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028283"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028283"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-691"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;subfo&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028285"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028284"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-var">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028283"><span class="hs-identifier hs-var">reg3</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-692"></span><span>
</span><span id="line-693"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#SUBFC"><span class="hs-identifier hs-type">SUBFC</span></a></span><span> </span><span id="local-6989586621681028281"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028281"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028280"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028280"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028279"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028279"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-694"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-695"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-696"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;subf&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-697"></span><span>           </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028279"><span class="hs-identifier hs-var">ri</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-698"></span><span>               </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-type">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-699"></span><span>               </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'i'</span></span><span class="hs-special">,</span><span>
</span><span id="line-700"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;c\t&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-701"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028281"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-702"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-703"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028280"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-704"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-705"></span><span>           </span><span class="annot"><span class="annottext">RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprRI"><span class="hs-identifier hs-var">pprRI</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028279"><span class="hs-identifier hs-var">ri</span></a></span><span>
</span><span id="line-706"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-707"></span><span>
</span><span id="line-708"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#SUBFE"><span class="hs-identifier hs-type">SUBFE</span></a></span><span> </span><span id="local-6989586621681028277"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028277"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028276"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028276"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028275"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028275"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-709"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;subfe&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028277"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028276"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-var">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028275"><span class="hs-identifier hs-var">reg3</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-710"></span><span>
</span><span id="line-711"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#MULL"><span class="hs-identifier hs-type">MULL</span></a></span><span> </span><span id="local-6989586621681028273"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028273"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028272"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028272"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028271"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028271"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028270"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028270"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-712"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Format -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprMul"><span class="hs-identifier hs-var">pprMul</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028273"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028272"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028271"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028270"><span class="hs-identifier hs-var">ri</span></a></span><span>
</span><span id="line-713"></span><span>
</span><span id="line-714"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#MULLO"><span class="hs-identifier hs-type">MULLO</span></a></span><span> </span><span id="local-6989586621681028267"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028267"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028266"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028266"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028265"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028265"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028264"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028264"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-715"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-716"></span><span>             </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-717"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;mull&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-718"></span><span>             </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028267"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-719"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'w'</span></span><span>
</span><span id="line-720"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'d'</span></span><span>
</span><span id="line-721"></span><span>               </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC: illegal format&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-722"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;o\t&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-723"></span><span>             </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028266"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-724"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-725"></span><span>             </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028265"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-726"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-727"></span><span>             </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028264"><span class="hs-identifier hs-var">reg3</span></a></span><span>
</span><span id="line-728"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-729"></span><span>
</span><span id="line-730"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#MFOV"><span class="hs-identifier hs-type">MFOV</span></a></span><span> </span><span id="local-6989586621681028262"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028262"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028261"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028261"><span class="hs-identifier hs-var">reg</span></a></span></span><span>
</span><span id="line-731"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-732"></span><span>           </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-733"></span><span>               </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-734"></span><span>               </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;mfxer&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-735"></span><span>               </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-736"></span><span>               </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028261"><span class="hs-identifier hs-var">reg</span></a></span><span>
</span><span id="line-737"></span><span>               </span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-738"></span><span>           </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-739"></span><span>               </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-740"></span><span>               </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;extr&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-741"></span><span>               </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028262"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-742"></span><span>                 </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'w'</span></span><span>
</span><span id="line-743"></span><span>                 </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'d'</span></span><span>
</span><span id="line-744"></span><span>                 </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC: illegal format&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-745"></span><span>               </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;i\t&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-746"></span><span>               </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028261"><span class="hs-identifier hs-var">reg</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-747"></span><span>               </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-748"></span><span>               </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028261"><span class="hs-identifier hs-var">reg</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-749"></span><span>               </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, 1, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-750"></span><span>               </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028262"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-751"></span><span>                 </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;1&quot;</span></span><span>
</span><span id="line-752"></span><span>                 </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;33&quot;</span></span><span>
</span><span id="line-753"></span><span>                 </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC: illegal format&quot;</span></span><span>
</span><span id="line-754"></span><span>               </span><span class="hs-special">]</span><span>
</span><span id="line-755"></span><span>           </span><span class="hs-special">]</span><span>
</span><span id="line-756"></span><span>
</span><span id="line-757"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#MULHU"><span class="hs-identifier hs-type">MULHU</span></a></span><span> </span><span id="local-6989586621681028259"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028259"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028258"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028258"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028257"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028257"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028256"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028256"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-758"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-759"></span><span>            </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-760"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;mulh&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-761"></span><span>            </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028259"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-762"></span><span>              </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'w'</span></span><span>
</span><span id="line-763"></span><span>              </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'d'</span></span><span>
</span><span id="line-764"></span><span>              </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC: illegal format&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-765"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;u\t&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-766"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028258"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-767"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-768"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028257"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-769"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-770"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028256"><span class="hs-identifier hs-var">reg3</span></a></span><span>
</span><span id="line-771"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-772"></span><span>
</span><span id="line-773"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#DIV"><span class="hs-identifier hs-type">DIV</span></a></span><span> </span><span id="local-6989586621681028254"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028254"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028253"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028253"><span class="hs-identifier hs-var">sgn</span></a></span></span><span> </span><span id="local-6989586621681028252"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028252"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028251"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028251"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028250"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028250"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-774"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Format -&gt; Bool -&gt; Reg -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprDiv"><span class="hs-identifier hs-var">pprDiv</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028254"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028253"><span class="hs-identifier hs-var">sgn</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028252"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028251"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028250"><span class="hs-identifier hs-var">reg3</span></a></span><span>
</span><span id="line-775"></span><span>
</span><span id="line-776"></span><span>        </span><span class="hs-comment">-- for some reason, &quot;andi&quot; doesn't exist.</span><span>
</span><span id="line-777"></span><span>        </span><span class="hs-comment">-- we'll use &quot;andi.&quot; instead.</span><span>
</span><span id="line-778"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#AND"><span class="hs-identifier hs-type">AND</span></a></span><span> </span><span id="local-6989586621681028247"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028247"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028246"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028246"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span id="local-6989586621681028245"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028245"><span class="hs-identifier hs-var">imm</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-779"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-780"></span><span>            </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-781"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;andi.&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-782"></span><span>            </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-783"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028247"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-784"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-785"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028246"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-786"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-787"></span><span>            </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028245"><span class="hs-identifier hs-var">imm</span></a></span><span>
</span><span id="line-788"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-789"></span><span>
</span><span id="line-790"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#AND"><span class="hs-identifier hs-type">AND</span></a></span><span> </span><span id="local-6989586621681028244"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028244"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028243"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028243"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028242"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028242"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-791"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;and&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028244"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028243"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028242"><span class="hs-identifier hs-var">ri</span></a></span><span>
</span><span id="line-792"></span><span>
</span><span id="line-793"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#ANDC"><span class="hs-identifier hs-type">ANDC</span></a></span><span> </span><span id="local-6989586621681028240"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028240"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028239"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028239"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028238"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028238"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-794"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;andc&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028240"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028239"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-var">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028238"><span class="hs-identifier hs-var">reg3</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-795"></span><span>
</span><span id="line-796"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#NAND"><span class="hs-identifier hs-type">NAND</span></a></span><span> </span><span id="local-6989586621681028236"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028236"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028235"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028235"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028234"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028234"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-797"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nand&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028236"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028235"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-var">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028234"><span class="hs-identifier hs-var">reg3</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-798"></span><span>
</span><span id="line-799"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#OR"><span class="hs-identifier hs-type">OR</span></a></span><span> </span><span id="local-6989586621681028232"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028232"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028231"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028231"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028230"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028230"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-800"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;or&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028232"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028231"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028230"><span class="hs-identifier hs-var">ri</span></a></span><span>
</span><span id="line-801"></span><span>
</span><span id="line-802"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#XOR"><span class="hs-identifier hs-type">XOR</span></a></span><span> </span><span id="local-6989586621681028228"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028228"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028227"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028227"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028226"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028226"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-803"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;xor&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028228"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028227"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028226"><span class="hs-identifier hs-var">ri</span></a></span><span>
</span><span id="line-804"></span><span>
</span><span id="line-805"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#ORIS"><span class="hs-identifier hs-type">ORIS</span></a></span><span> </span><span id="local-6989586621681028224"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028224"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028223"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028223"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028222"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028222"><span class="hs-identifier hs-var">imm</span></a></span></span><span>
</span><span id="line-806"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-807"></span><span>            </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-808"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;oris&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-809"></span><span>            </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-810"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028224"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-811"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-812"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028223"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-813"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-814"></span><span>            </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028222"><span class="hs-identifier hs-var">imm</span></a></span><span>
</span><span id="line-815"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-816"></span><span>
</span><span id="line-817"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#XORIS"><span class="hs-identifier hs-type">XORIS</span></a></span><span> </span><span id="local-6989586621681028220"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028220"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028219"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028219"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028218"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028218"><span class="hs-identifier hs-var">imm</span></a></span></span><span>
</span><span id="line-818"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-819"></span><span>            </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-820"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;xoris&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-821"></span><span>            </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-822"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028220"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-823"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-824"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028219"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-825"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-826"></span><span>            </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028218"><span class="hs-identifier hs-var">imm</span></a></span><span>
</span><span id="line-827"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-828"></span><span>
</span><span id="line-829"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#EXTS"><span class="hs-identifier hs-type">EXTS</span></a></span><span> </span><span id="local-6989586621681028216"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028216"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028215"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028215"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028214"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028214"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-830"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-831"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-832"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;exts&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-833"></span><span>           </span><span class="annot"><span class="annottext">Format -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFormat"><span class="hs-identifier hs-var">pprFormat</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028216"><span class="hs-identifier hs-var">fmt</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-834"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-835"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028215"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-836"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-837"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028214"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-838"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-839"></span><span>
</span><span id="line-840"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#CNTLZ"><span class="hs-identifier hs-type">CNTLZ</span></a></span><span> </span><span id="local-6989586621681028212"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028212"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028211"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028211"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028210"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028210"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-841"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-842"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-843"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cntlz&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-844"></span><span>           </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028212"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-845"></span><span>             </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'w'</span></span><span>
</span><span id="line-846"></span><span>             </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'d'</span></span><span>
</span><span id="line-847"></span><span>             </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC: illegal format&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-848"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-849"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028211"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-850"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-851"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028210"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-852"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-853"></span><span>
</span><span id="line-854"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#NEG"><span class="hs-identifier hs-type">NEG</span></a></span><span> </span><span id="local-6989586621681028208"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028208"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028207"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028207"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-855"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-var">pprUnary</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;neg&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028208"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028207"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-856"></span><span>
</span><span id="line-857"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#NOT"><span class="hs-identifier hs-type">NOT</span></a></span><span> </span><span id="local-6989586621681028205"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028205"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028204"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028204"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-858"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-var">pprUnary</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;not&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028205"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028204"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-859"></span><span>
</span><span id="line-860"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#SR"><span class="hs-identifier hs-type">SR</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span id="local-6989586621681028202"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028202"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028201"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028201"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-type">ImmInt</span></a></span><span> </span><span id="local-6989586621681028200"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028200"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-861"></span><span>    </span><span class="hs-comment">-- Handle the case where we are asked to shift a 32 bit register by</span><span>
</span><span id="line-862"></span><span>    </span><span class="hs-comment">-- less than zero or more than 31 bits. We convert this into a clear</span><span>
</span><span id="line-863"></span><span>    </span><span class="hs-comment">-- of the destination register.</span><span>
</span><span id="line-864"></span><span>    </span><span class="hs-comment">-- Fixes ticket https://gitlab.haskell.org/ghc/ghc/issues/5900</span><span>
</span><span id="line-865"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028200"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&lt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>  </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028200"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">31</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var">pprInstr</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; Reg -&gt; RI -&gt; Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#XOR"><span class="hs-identifier hs-var">XOR</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028202"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028201"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-var">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028201"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-866"></span><span>
</span><span id="line-867"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#SL"><span class="hs-identifier hs-type">SL</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span id="local-6989586621681028196"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028196"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028195"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028195"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-type">ImmInt</span></a></span><span> </span><span id="local-6989586621681028194"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028194"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-868"></span><span>    </span><span class="hs-comment">-- As above for SR, but for left shifts.</span><span>
</span><span id="line-869"></span><span>    </span><span class="hs-comment">-- Fixes ticket https://gitlab.haskell.org/ghc/ghc/issues/10870</span><span>
</span><span id="line-870"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028194"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&lt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>  </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028194"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">31</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var">pprInstr</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; Reg -&gt; RI -&gt; Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#XOR"><span class="hs-identifier hs-var">XOR</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028196"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028195"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Reg -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-var">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028195"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-871"></span><span>
</span><span id="line-872"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#SRA"><span class="hs-identifier hs-type">SRA</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span id="local-6989586621681028192"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028192"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028191"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028191"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-type">ImmInt</span></a></span><span> </span><span id="local-6989586621681028190"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028190"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-873"></span><span>    </span><span class="hs-comment">-- PT: I don't know what to do for negative shift amounts:</span><span>
</span><span id="line-874"></span><span>    </span><span class="hs-comment">-- For now just panic.</span><span>
</span><span id="line-875"></span><span>    </span><span class="hs-comment">--</span><span>
</span><span id="line-876"></span><span>    </span><span class="hs-comment">-- For shift amounts greater than 31 set all bit to the</span><span>
</span><span id="line-877"></span><span>    </span><span class="hs-comment">-- value of the sign bit, this also what sraw does.</span><span>
</span><span id="line-878"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028190"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">31</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Instr -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprInstr"><span class="hs-identifier hs-var">pprInstr</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621681028416"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Format -&gt; Reg -&gt; Reg -&gt; RI -&gt; Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#SRA"><span class="hs-identifier hs-var">SRA</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028192"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028191"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Imm -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-var">RIImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Imm
</span><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-var">ImmInt</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">31</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-879"></span><span>
</span><span id="line-880"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#SL"><span class="hs-identifier hs-type">SL</span></a></span><span> </span><span id="local-6989586621681028189"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028189"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028188"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028188"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028187"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028187"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028186"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028186"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-881"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621681028185"><span class="annot"><span class="annottext">op :: String
</span><a href="#local-6989586621681028185"><span class="hs-identifier hs-var hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028189"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-882"></span><span>                       </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;slw&quot;</span></span><span>
</span><span id="line-883"></span><span>                       </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sld&quot;</span></span><span>
</span><span id="line-884"></span><span>                       </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr.pprInstr: shift illegal size&quot;</span></span><span>
</span><span id="line-885"></span><span>         </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621681028185"><span class="hs-identifier hs-var">op</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028188"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028187"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Format -&gt; RI -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#limitShiftRI"><span class="hs-identifier hs-var">limitShiftRI</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028189"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028186"><span class="hs-identifier hs-var">ri</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-886"></span><span>
</span><span id="line-887"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#SR"><span class="hs-identifier hs-type">SR</span></a></span><span> </span><span id="local-6989586621681028183"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028183"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028182"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028182"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028181"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028181"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028180"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028180"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-888"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621681028179"><span class="annot"><span class="annottext">op :: String
</span><a href="#local-6989586621681028179"><span class="hs-identifier hs-var hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028183"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-889"></span><span>                       </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;srw&quot;</span></span><span>
</span><span id="line-890"></span><span>                       </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;srd&quot;</span></span><span>
</span><span id="line-891"></span><span>                       </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr.pprInstr: shift illegal size&quot;</span></span><span>
</span><span id="line-892"></span><span>         </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621681028179"><span class="hs-identifier hs-var">op</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028182"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028181"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Format -&gt; RI -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#limitShiftRI"><span class="hs-identifier hs-var">limitShiftRI</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028183"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028180"><span class="hs-identifier hs-var">ri</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-893"></span><span>
</span><span id="line-894"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#SRA"><span class="hs-identifier hs-type">SRA</span></a></span><span> </span><span id="local-6989586621681028178"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028178"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028177"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028177"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028176"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028176"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028175"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028175"><span class="hs-identifier hs-var">ri</span></a></span></span><span>
</span><span id="line-895"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621681028174"><span class="annot"><span class="annottext">op :: String
</span><a href="#local-6989586621681028174"><span class="hs-identifier hs-var hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028178"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-896"></span><span>                       </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sraw&quot;</span></span><span>
</span><span id="line-897"></span><span>                       </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;srad&quot;</span></span><span>
</span><span id="line-898"></span><span>                       </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr.pprInstr: shift illegal size&quot;</span></span><span>
</span><span id="line-899"></span><span>         </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var">pprLogic</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621681028174"><span class="hs-identifier hs-var">op</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028177"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028176"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Format -&gt; RI -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#limitShiftRI"><span class="hs-identifier hs-var">limitShiftRI</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028178"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028175"><span class="hs-identifier hs-var">ri</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-900"></span><span>
</span><span id="line-901"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RLWINM"><span class="hs-identifier hs-type">RLWINM</span></a></span><span> </span><span id="local-6989586621681028172"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028172"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028171"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028171"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028170"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028170"><span class="hs-identifier hs-var">sh</span></a></span></span><span> </span><span id="local-6989586621681028169"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028169"><span class="hs-identifier hs-var">mb</span></a></span></span><span> </span><span id="local-6989586621681028168"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028168"><span class="hs-identifier hs-var">me</span></a></span></span><span>
</span><span id="line-902"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-903"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\trlwinm\t&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-904"></span><span>             </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028172"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-905"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-906"></span><span>             </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028171"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-907"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-908"></span><span>             </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028170"><span class="hs-identifier hs-var">sh</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-909"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-910"></span><span>             </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028169"><span class="hs-identifier hs-var">mb</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-911"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-912"></span><span>             </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028168"><span class="hs-identifier hs-var">me</span></a></span><span>
</span><span id="line-913"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-914"></span><span>
</span><span id="line-915"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#CLRLI"><span class="hs-identifier hs-type">CLRLI</span></a></span><span> </span><span id="local-6989586621681028166"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028166"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028165"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028165"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028164"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028164"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028163"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028163"><span class="hs-identifier hs-var">n</span></a></span></span><span>
</span><span id="line-916"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-917"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tclrl&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-918"></span><span>            </span><span class="annot"><span class="annottext">Format -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFormat"><span class="hs-identifier hs-var">pprFormat</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028166"><span class="hs-identifier hs-var">fmt</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-919"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;i &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-920"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028165"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-921"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-922"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028164"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-923"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-924"></span><span>            </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028163"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-925"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-926"></span><span>
</span><span id="line-927"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#CLRRI"><span class="hs-identifier hs-type">CLRRI</span></a></span><span> </span><span id="local-6989586621681028161"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028161"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028160"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028160"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028159"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028159"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028158"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028158"><span class="hs-identifier hs-var">n</span></a></span></span><span>
</span><span id="line-928"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-929"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tclrr&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-930"></span><span>            </span><span class="annot"><span class="annottext">Format -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFormat"><span class="hs-identifier hs-var">pprFormat</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028161"><span class="hs-identifier hs-var">fmt</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-931"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;i &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-932"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028160"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-933"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-934"></span><span>            </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028159"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-935"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-936"></span><span>            </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028158"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-937"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-938"></span><span>
</span><span id="line-939"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FADD"><span class="hs-identifier hs-type">FADD</span></a></span><span> </span><span id="local-6989586621681028156"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028156"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028155"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028155"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028154"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028154"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028153"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028153"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-940"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Format -&gt; Reg -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprBinaryF"><span class="hs-identifier hs-var">pprBinaryF</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fadd&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028156"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028155"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028154"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028153"><span class="hs-identifier hs-var">reg3</span></a></span><span>
</span><span id="line-941"></span><span>
</span><span id="line-942"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FSUB"><span class="hs-identifier hs-type">FSUB</span></a></span><span> </span><span id="local-6989586621681028150"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028150"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028149"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028149"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028148"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028148"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028147"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028147"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-943"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Format -&gt; Reg -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprBinaryF"><span class="hs-identifier hs-var">pprBinaryF</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fsub&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028150"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028149"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028148"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028147"><span class="hs-identifier hs-var">reg3</span></a></span><span>
</span><span id="line-944"></span><span>
</span><span id="line-945"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FMUL"><span class="hs-identifier hs-type">FMUL</span></a></span><span> </span><span id="local-6989586621681028145"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028145"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028144"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028144"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028143"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028143"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028142"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028142"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-946"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Format -&gt; Reg -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprBinaryF"><span class="hs-identifier hs-var">pprBinaryF</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmul&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028145"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028144"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028143"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028142"><span class="hs-identifier hs-var">reg3</span></a></span><span>
</span><span id="line-947"></span><span>
</span><span id="line-948"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FDIV"><span class="hs-identifier hs-type">FDIV</span></a></span><span> </span><span id="local-6989586621681028140"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028140"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028139"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028139"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028138"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028138"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028137"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028137"><span class="hs-identifier hs-var">reg3</span></a></span></span><span>
</span><span id="line-949"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Format -&gt; Reg -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprBinaryF"><span class="hs-identifier hs-var">pprBinaryF</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fdiv&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028140"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028139"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028138"><span class="hs-identifier hs-var">reg2</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028137"><span class="hs-identifier hs-var">reg3</span></a></span><span>
</span><span id="line-950"></span><span>
</span><span id="line-951"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FABS"><span class="hs-identifier hs-type">FABS</span></a></span><span> </span><span id="local-6989586621681028135"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028135"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028134"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028134"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-952"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-var">pprUnary</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fabs&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028135"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028134"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-953"></span><span>
</span><span id="line-954"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FNEG"><span class="hs-identifier hs-type">FNEG</span></a></span><span> </span><span id="local-6989586621681028132"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028132"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028131"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028131"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-955"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-var">pprUnary</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fneg&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028132"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028131"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-956"></span><span>
</span><span id="line-957"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FCMP"><span class="hs-identifier hs-type">FCMP</span></a></span><span> </span><span id="local-6989586621681028129"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028129"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028128"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028128"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-958"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-959"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-960"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fcmpu\t0, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-961"></span><span>               </span><span class="hs-comment">-- Note: we're using fcmpu, not fcmpo</span><span>
</span><span id="line-962"></span><span>               </span><span class="hs-comment">-- The difference is with fcmpo, compare with NaN is an invalid operation.</span><span>
</span><span id="line-963"></span><span>               </span><span class="hs-comment">-- We don't handle invalid fp ops, so we don't care.</span><span>
</span><span id="line-964"></span><span>               </span><span class="hs-comment">-- Moreover, we use `fcmpu 0, ...` rather than `fcmpu cr0, ...` for</span><span>
</span><span id="line-965"></span><span>               </span><span class="hs-comment">-- better portability since some non-GNU assembler (such as</span><span>
</span><span id="line-966"></span><span>               </span><span class="hs-comment">-- IBM's `as`) tend not to support the symbolic register name cr0.</span><span>
</span><span id="line-967"></span><span>               </span><span class="hs-comment">-- This matches the syntax that GCC seems to emit for PPC targets.</span><span>
</span><span id="line-968"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028129"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-969"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-970"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028128"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-971"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-972"></span><span>
</span><span id="line-973"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FCTIWZ"><span class="hs-identifier hs-type">FCTIWZ</span></a></span><span> </span><span id="local-6989586621681028126"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028126"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028125"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028125"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-974"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-var">pprUnary</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fctiwz&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028126"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028125"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-975"></span><span>
</span><span id="line-976"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FCTIDZ"><span class="hs-identifier hs-type">FCTIDZ</span></a></span><span> </span><span id="local-6989586621681028123"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028123"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028122"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028122"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-977"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-var">pprUnary</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fctidz&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028123"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028122"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-978"></span><span>
</span><span id="line-979"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FCFID"><span class="hs-identifier hs-type">FCFID</span></a></span><span> </span><span id="local-6989586621681028120"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028120"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028119"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028119"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-980"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-var">pprUnary</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fcfid&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028120"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028119"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-981"></span><span>
</span><span id="line-982"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FRSP"><span class="hs-identifier hs-type">FRSP</span></a></span><span> </span><span id="local-6989586621681028117"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028117"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028116"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028116"><span class="hs-identifier hs-var">reg2</span></a></span></span><span>
</span><span id="line-983"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-var">pprUnary</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;frsp&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028117"><span class="hs-identifier hs-var">reg1</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028116"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-984"></span><span>
</span><span id="line-985"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#CRNOR"><span class="hs-identifier hs-type">CRNOR</span></a></span><span> </span><span id="local-6989586621681028114"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028114"><span class="hs-identifier hs-var">dst</span></a></span></span><span> </span><span id="local-6989586621681028113"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028113"><span class="hs-identifier hs-var">src1</span></a></span></span><span> </span><span id="local-6989586621681028112"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028112"><span class="hs-identifier hs-var">src2</span></a></span></span><span>
</span><span id="line-986"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-987"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tcrnor\t&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-988"></span><span>           </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028114"><span class="hs-identifier hs-var">dst</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-989"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-990"></span><span>           </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028113"><span class="hs-identifier hs-var">src1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-991"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-992"></span><span>           </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028112"><span class="hs-identifier hs-var">src2</span></a></span><span>
</span><span id="line-993"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-994"></span><span>
</span><span id="line-995"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#MFCR"><span class="hs-identifier hs-type">MFCR</span></a></span><span> </span><span id="local-6989586621681028110"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028110"><span class="hs-identifier hs-var">reg</span></a></span></span><span>
</span><span id="line-996"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-997"></span><span>             </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-998"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;mfcr&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-999"></span><span>             </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1000"></span><span>             </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028110"><span class="hs-identifier hs-var">reg</span></a></span><span>
</span><span id="line-1001"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-1002"></span><span>
</span><span id="line-1003"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#MFLR"><span class="hs-identifier hs-type">MFLR</span></a></span><span> </span><span id="local-6989586621681028108"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028108"><span class="hs-identifier hs-var">reg</span></a></span></span><span>
</span><span id="line-1004"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-1005"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1006"></span><span>           </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;mflr&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1007"></span><span>           </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1008"></span><span>           </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028108"><span class="hs-identifier hs-var">reg</span></a></span><span>
</span><span id="line-1009"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-1010"></span><span>
</span><span id="line-1011"></span><span>   </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#FETCHPC"><span class="hs-identifier hs-type">FETCHPC</span></a></span><span> </span><span id="local-6989586621681028106"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028106"><span class="hs-identifier hs-var">reg</span></a></span></span><span>
</span><span id="line-1012"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-1013"></span><span>             </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tbcl\t20,31,1f&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1014"></span><span>             </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;1:\tmflr\t&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028106"><span class="hs-identifier hs-var">reg</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-1015"></span><span>         </span><span class="hs-special">]</span><span>
</span><span id="line-1016"></span><span>
</span><span id="line-1017"></span><span>   </span><span class="annot"><span class="annottext">Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#HWSYNC"><span class="hs-identifier hs-var">HWSYNC</span></a></span><span>
</span><span id="line-1018"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tsync&quot;</span></span><span>
</span><span id="line-1019"></span><span>
</span><span id="line-1020"></span><span>   </span><span class="annot"><span class="annottext">Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#ISYNC"><span class="hs-identifier hs-var">ISYNC</span></a></span><span>
</span><span id="line-1021"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tisync&quot;</span></span><span>
</span><span id="line-1022"></span><span>
</span><span id="line-1023"></span><span>   </span><span class="annot"><span class="annottext">Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#LWSYNC"><span class="hs-identifier hs-var">LWSYNC</span></a></span><span>
</span><span id="line-1024"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tlwsync&quot;</span></span><span>
</span><span id="line-1025"></span><span>
</span><span id="line-1026"></span><span>   </span><span class="annot"><span class="annottext">Instr
</span><a href="GHC.CmmToAsm.PPC.Instr.html#NOP"><span class="hs-identifier hs-var">NOP</span></a></span><span>
</span><span id="line-1027"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\tnop&quot;</span></span><span>
</span><span id="line-1028"></span><span>
</span><span id="line-1029"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-type">pprLogic</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#PtrString"><span class="hs-identifier hs-type">PtrString</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RI"><span class="hs-identifier hs-type">RI</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1030"></span><span id="pprLogic"><span class="annot"><span class="annottext">pprLogic :: PtrString -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprLogic"><span class="hs-identifier hs-var hs-var">pprLogic</span></a></span></span><span> </span><span id="local-6989586621681028101"><span class="annot"><span class="annottext">PtrString
</span><a href="#local-6989586621681028101"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span id="local-6989586621681028100"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028100"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028099"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028099"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028098"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028098"><span class="hs-identifier hs-var">ri</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-1031"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1032"></span><span>        </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="annot"><span class="annottext">PtrString
</span><a href="#local-6989586621681028101"><span class="hs-identifier hs-var">op</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1033"></span><span>        </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028098"><span class="hs-identifier hs-var">ri</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1034"></span><span>            </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-type">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-1035"></span><span>            </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'i'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1036"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1037"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028100"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1038"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1039"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028099"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1040"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1041"></span><span>        </span><span class="annot"><span class="annottext">RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprRI"><span class="hs-identifier hs-var">pprRI</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028098"><span class="hs-identifier hs-var">ri</span></a></span><span>
</span><span id="line-1042"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-1043"></span><span>
</span><span id="line-1044"></span><span>
</span><span id="line-1045"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprMul"><span class="hs-identifier hs-type">pprMul</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Format.html#Format"><span class="hs-identifier hs-type">Format</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RI"><span class="hs-identifier hs-type">RI</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1046"></span><span id="pprMul"><span class="annot"><span class="annottext">pprMul :: Format -&gt; Reg -&gt; Reg -&gt; RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprMul"><span class="hs-identifier hs-var hs-var">pprMul</span></a></span></span><span> </span><span id="local-6989586621681028097"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028097"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028096"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028096"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028095"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028095"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028094"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028094"><span class="hs-identifier hs-var">ri</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-1047"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1048"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;mull&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1049"></span><span>        </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028094"><span class="hs-identifier hs-var">ri</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1050"></span><span>            </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-type">RIReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028097"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1051"></span><span>              </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'w'</span></span><span>
</span><span id="line-1052"></span><span>              </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'d'</span></span><span>
</span><span id="line-1053"></span><span>              </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC: illegal format&quot;</span></span><span>
</span><span id="line-1054"></span><span>            </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'i'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1055"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1056"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028096"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1057"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1058"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028095"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1059"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1060"></span><span>        </span><span class="annot"><span class="annottext">RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprRI"><span class="hs-identifier hs-var">pprRI</span></a></span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028094"><span class="hs-identifier hs-var">ri</span></a></span><span>
</span><span id="line-1061"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-1062"></span><span>
</span><span id="line-1063"></span><span>
</span><span id="line-1064"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprDiv"><span class="hs-identifier hs-type">pprDiv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Format.html#Format"><span class="hs-identifier hs-type">Format</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1065"></span><span id="pprDiv"><span class="annot"><span class="annottext">pprDiv :: Format -&gt; Bool -&gt; Reg -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprDiv"><span class="hs-identifier hs-var hs-var">pprDiv</span></a></span></span><span> </span><span id="local-6989586621681028093"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028093"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028092"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028092"><span class="hs-identifier hs-var">sgn</span></a></span></span><span> </span><span id="local-6989586621681028091"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028091"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028090"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028090"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028089"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028089"><span class="hs-identifier hs-var">reg3</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-1066"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1067"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;div&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1068"></span><span>        </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028093"><span class="hs-identifier hs-var">fmt</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1069"></span><span>          </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'w'</span></span><span>
</span><span id="line-1070"></span><span>          </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'d'</span></span><span>
</span><span id="line-1071"></span><span>          </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC: illegal format&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1072"></span><span>        </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621681028092"><span class="hs-identifier hs-var">sgn</span></a></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'u'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1073"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1074"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028091"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1075"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1076"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028090"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1077"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1078"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028089"><span class="hs-identifier hs-var">reg3</span></a></span><span>
</span><span id="line-1079"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-1080"></span><span>
</span><span id="line-1081"></span><span>
</span><span id="line-1082"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-type">pprUnary</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#PtrString"><span class="hs-identifier hs-type">PtrString</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1083"></span><span id="pprUnary"><span class="annot"><span class="annottext">pprUnary :: PtrString -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprUnary"><span class="hs-identifier hs-var hs-var">pprUnary</span></a></span></span><span> </span><span id="local-6989586621681028088"><span class="annot"><span class="annottext">PtrString
</span><a href="#local-6989586621681028088"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span id="local-6989586621681028087"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028087"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028086"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028086"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-1084"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1085"></span><span>        </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="annot"><span class="annottext">PtrString
</span><a href="#local-6989586621681028088"><span class="hs-identifier hs-var">op</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1086"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1087"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028087"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1088"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1089"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028086"><span class="hs-identifier hs-var">reg2</span></a></span><span>
</span><span id="line-1090"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-1091"></span><span>
</span><span id="line-1092"></span><span>
</span><span id="line-1093"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprBinaryF"><span class="hs-identifier hs-type">pprBinaryF</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#PtrString"><span class="hs-identifier hs-type">PtrString</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Format.html#Format"><span class="hs-identifier hs-type">Format</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Platform.Reg.html#Reg"><span class="hs-identifier hs-type">Reg</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1094"></span><span id="pprBinaryF"><span class="annot"><span class="annottext">pprBinaryF :: PtrString -&gt; Format -&gt; Reg -&gt; Reg -&gt; Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprBinaryF"><span class="hs-identifier hs-var hs-var">pprBinaryF</span></a></span></span><span> </span><span id="local-6989586621681028085"><span class="annot"><span class="annottext">PtrString
</span><a href="#local-6989586621681028085"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span id="local-6989586621681028084"><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028084"><span class="hs-identifier hs-var">fmt</span></a></span></span><span> </span><span id="local-6989586621681028083"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028083"><span class="hs-identifier hs-var">reg1</span></a></span></span><span> </span><span id="local-6989586621681028082"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028082"><span class="hs-identifier hs-var">reg2</span></a></span></span><span> </span><span id="local-6989586621681028081"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028081"><span class="hs-identifier hs-var">reg3</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-1095"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1096"></span><span>        </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="annot"><span class="annottext">PtrString
</span><a href="#local-6989586621681028085"><span class="hs-identifier hs-var">op</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1097"></span><span>        </span><span class="annot"><span class="annottext">Format -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFFormat"><span class="hs-identifier hs-var">pprFFormat</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="#local-6989586621681028084"><span class="hs-identifier hs-var">fmt</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1098"></span><span>        </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\t'</span></span><span class="hs-special">,</span><span>
</span><span id="line-1099"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028083"><span class="hs-identifier hs-var">reg1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1100"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1101"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028082"><span class="hs-identifier hs-var">reg2</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-1102"></span><span>        </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-1103"></span><span>        </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028081"><span class="hs-identifier hs-var">reg3</span></a></span><span>
</span><span id="line-1104"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-1105"></span><span>
</span><span id="line-1106"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprRI"><span class="hs-identifier hs-type">pprRI</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RI"><span class="hs-identifier hs-type">RI</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1107"></span><span id="pprRI"><span class="annot"><span class="annottext">pprRI :: RI -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprRI"><span class="hs-identifier hs-var hs-var">pprRI</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIReg"><span class="hs-identifier hs-type">RIReg</span></a></span><span> </span><span id="local-6989586621681028079"><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028079"><span class="hs-identifier hs-var">r</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Reg -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprReg"><span class="hs-identifier hs-var">pprReg</span></a></span><span> </span><span class="annot"><span class="annottext">Reg
</span><a href="#local-6989586621681028079"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-1108"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprRI"><span class="hs-identifier hs-var">pprRI</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span id="local-6989586621681028078"><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028078"><span class="hs-identifier hs-var">r</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Imm -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprImm"><span class="hs-identifier hs-var">pprImm</span></a></span><span> </span><span class="annot"><span class="annottext">Imm
</span><a href="#local-6989586621681028078"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-1109"></span><span>
</span><span id="line-1110"></span><span>
</span><span id="line-1111"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFFormat"><span class="hs-identifier hs-type">pprFFormat</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Format.html#Format"><span class="hs-identifier hs-type">Format</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1112"></span><span id="pprFFormat"><span class="annot"><span class="annottext">pprFFormat :: Format -&gt; SDoc
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFFormat"><span class="hs-identifier hs-var hs-var">pprFFormat</span></a></span></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#FF64"><span class="hs-identifier hs-var">FF64</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-1113"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFFormat"><span class="hs-identifier hs-var">pprFFormat</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#FF32"><span class="hs-identifier hs-var">FF32</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'s'</span></span><span>
</span><span id="line-1114"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#pprFFormat"><span class="hs-identifier hs-var">pprFFormat</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr.pprFFormat: no match&quot;</span></span><span>
</span><span id="line-1115"></span><span>
</span><span id="line-1116"></span><span>    </span><span class="hs-comment">-- limit immediate argument for shift instruction to range 0..63</span><span>
</span><span id="line-1117"></span><span>    </span><span class="hs-comment">-- for 64 bit size and 0..32 otherwise</span><span>
</span><span id="line-1118"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#limitShiftRI"><span class="hs-identifier hs-type">limitShiftRI</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Format.html#Format"><span class="hs-identifier hs-type">Format</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RI"><span class="hs-identifier hs-type">RI</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RI"><span class="hs-identifier hs-type">RI</span></a></span><span>
</span><span id="line-1119"></span><span id="limitShiftRI"><span class="annot"><span class="annottext">limitShiftRI :: Format -&gt; RI -&gt; RI
</span><a href="GHC.CmmToAsm.PPC.Ppr.html#limitShiftRI"><span class="hs-identifier hs-var hs-var">limitShiftRI</span></a></span></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II64"><span class="hs-identifier hs-var">II64</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-type">ImmInt</span></a></span><span> </span><span id="local-6989586621681028077"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028077"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028077"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">63</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028077"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&lt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-1120"></span><span>  </span><span class="annot"><span class="annottext">String -&gt; RI
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; RI) -&gt; String -&gt; RI
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr: Shift by &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028077"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; bits is not allowed.&quot;</span></span><span>
</span><span id="line-1121"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#limitShiftRI"><span class="hs-identifier hs-var">limitShiftRI</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><a href="GHC.CmmToAsm.Format.html#II32"><span class="hs-identifier hs-var">II32</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Instr.html#RIImm"><span class="hs-identifier hs-type">RIImm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.CmmToAsm.PPC.Regs.html#ImmInt"><span class="hs-identifier hs-type">ImmInt</span></a></span><span> </span><span id="local-6989586621681028076"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028076"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028076"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&gt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">31</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028076"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">&lt;</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-1122"></span><span>  </span><span class="annot"><span class="annottext">String -&gt; RI
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; RI) -&gt; String -&gt; RI
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PPC.Ppr: 32 bit: Shift by &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621681028076"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; bits is not allowed.&quot;</span></span><span>
</span><span id="line-1123"></span><span class="annot"><a href="GHC.CmmToAsm.PPC.Ppr.html#limitShiftRI"><span class="hs-identifier hs-var">limitShiftRI</span></a></span><span> </span><span class="annot"><span class="annottext">Format
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621681028075"><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028075"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">RI
</span><a href="#local-6989586621681028075"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-1124"></span></pre></body></html>